3

我正在开发 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 错误?

4

1 回答 1

5

我在这里找到了解决方案。

Loaded 事件被调用得太早。我改用了 LoadCompleted 事件。只要我导航到某个东西(我一直在放置webBrowser.NavigateToString("");),只有在 WebBrowser 控件完全加载内容时才会调用 LoadCompleted 事件。

这是新代码:

webBrowser.LoadCompleted += (object sender, NavigationEventArgs e) =>
{
    webBrowser.IsScriptEnabled = true;
    webBrowser.InvokeScript("eval", "alert('foo');");
};
于 2014-07-08T09:21:54.423 回答