C# WP8.1调用脚本错误
我正在使用Windows Phone 8.1应用程序。我对WebBrowser类的InvokeScript方法有问题。 我的XAML中有以下内容: 当我运行此代码时: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
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。