0

我有一些静态网页作为我的 Windows Phone 7 应用程序的一部分。然而,对于指向网络上非本地站点的链接能够启动网络浏览器(即调用WebBrowserTask. 此外,鉴于 WebBrowser 控件嵌入在 XAML 页面中,如果我可以(例如通过 javascript)从 WebBrowser 控件中调用页面上的行为,那就太好了。

这可能吗?

4

1 回答 1

1

据我了解,您需要在 WP7 浏览器中启动 JavaScript。有一些安全限制。但最简单的东西效果很好。查看“ InvokeScript ”、 WebbrowserControl 上的IsScriptEnable和“ eval

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();

        Wb.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(Wb_Navigated);
        MouseLeftButtonDown += new MouseButtonEventHandler(MainPage_MouseLeftButtonDown);

        Wb.NavigateToString("<html><body><form action='http://google.com/'></form></body></html>");
    }

    void Wb_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
    {
        Wb.InvokeScript("eval", "document.forms[0].submit();"); // Throws 80020101
    }

    private void MainPage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        Wb.InvokeScript("eval", "document.forms[0].submit();"); // Works
    }
}
于 2012-11-23T12:42:09.573 回答