2013-07-17 55 views
3

我想调用JavaScript方法在我WebBrowserC#调用JavaScript在web浏览器

WebBrowser webBrowser = new WebBrowser(); 
webBrowser.NavigateToString(html); 
webBrowser.LoadCompleted += ((s, r) => 
{ 
     try 
     { 
       object tmp = webBrowser.InvokeScript("GetData"); 
     } 
     catch (Exception exc) 
     { 
     } 
}); 

这是HTML

<html><head> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 
<title></title> 

<script type="text/javascript"> 
    function GetData() 
    { 
     return 50; 
    } 

</script> 

但是,当我调用使用JavaScript:

object tmp = webBrowser.InvokeScript("GetData"); 

我得到Exception

消息:

An unknown error has occurred. Error: 80020006. 

StakeTrace:

at Microsoft.Phone.Controls.NativeMethods.ValidateHResult(Int32 hr) 
    at Microsoft.Phone.Controls.WebBrowserInterop.InvokeScript(String scriptName, String[] args) 
    at Microsoft.Phone.Controls.WebBrowser.InvokeScript(String scriptName) 
    at YouTube.YouTubeExtractor.<>c__DisplayClass1.<ExtractVideoById>b__0(Object s, NavigationEventArgs r) 
+0

上的话题在WebBrowser控件上调用Javascript,请参阅http://stackoverflow.com/a/27468013/262379 –

回答

3

您需要设置WebBrowser.IsScriptEnabledtrue(这是false默认)

+1

这不是WPF WebBrowser控件的属性。 – Nick