我正在开发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。
当我为Windows Phone 8(而不是8.1)运行相同的代码时,我没有得到例外。
为什么我在WP 8.1中遇到错误的任何想法?
答案 0 :(得分:5)
我找到了解决方案here。
Loaded事件过早被调用。我使用了LoadCompleted事件。只要我导航到某些东西(我已经将 webBrowser.NavigateToString(""); ),只有当WebBrowser控件完全启用时才会调用LoadCompleted事件加载内容。
这是新代码:
webBrowser.LoadCompleted += (object sender, NavigationEventArgs e) =>
{
webBrowser.IsScriptEnabled = true;
webBrowser.InvokeScript("eval", "alert('foo');");
};