本文介绍了C#在WebBrowser中调用JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的 WebBrowser 中调用JavaScript方法:

I am trying to invoke JavaScript method in my WebBrowser :

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时with:

But when i invoke the javascript with :

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

我得到例外

消息:

An unknown error has occurred. Error: 80020006.

StakeTrace:

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)


推荐答案

您需要设置 WebBrowser.IsScriptEnabled true (默认情况下 false

You need to set the WebBrowser.IsScriptEnabled to true (it is false by default)

这篇关于C#在WebBrowser中调用JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 07:59