Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP8.1调用脚本错误_C#_Invokescript - Fatal编程技术网

C# WP8.1调用脚本错误

C# WP8.1调用脚本错误,c#,invokescript,C#,Invokescript,我正在使用Windows Phone 8.1应用程序。我对WebBrowser类的InvokeScript方法有问题。 我的XAML中有以下内容: 当我运行此代码时: myWebBrowser.Loaded += (object sender, RoutedEventArgs e) => { webBrowser.IsScriptEnabled = true; webBrowser.InvokeScript("eval", "alert('foo')"); }; 我在I

我正在使用Windows Phone 8.1应用程序。我对WebBrowser类的InvokeScript方法有问题。 我的XAML中有以下内容:

当我运行此代码时:

myWebBrowser.Loaded += (object sender, RoutedEventArgs e) =>
{
    webBrowser.IsScriptEnabled = true;
    webBrowser.InvokeScript("eval", "alert('foo')");
};
我在InvokeScript的行中得到一个System.SystemException,它告诉我:

发生未知错误。错误:80020006

当我为WindowsPhone8(不是8.1)运行相同的代码时,我没有得到异常

知道我为什么会在WP 8.1中出错吗?

我找到了解决方案

调用加载的事件太早。我改为使用LoadCompleted事件。只要我导航到某个对象(我一直在放置webBrowser.NavigateToString(“”;),LoadCompleted事件将仅在webBrowser控件已完全加载内容时调用

以下是新代码:

webBrowser.LoadCompleted += (object sender, NavigationEventArgs e) =>
{
    webBrowser.IsScriptEnabled = true;
    webBrowser.InvokeScript("eval", "alert('foo');");
};
它是DISP_E_UNKNOWNNAME,“未知名称”。MSDN库文章中的注释:“对于Windows 8.1之后的版本,InvokeScript可能会被更改或不可用。请改用InvokeScriptAsync。”第二个参数必须是string[],而不是string。