0

Windows Phone 7 アプリの一部として、いくつかの静的 Web ページがあります。ただし、Web 上の非ローカル サイトを参照するリンクが Web ブラウザを起動できる、つまりWebBrowserTask. また、WebBrowser コントロールが XAML ページに埋め込まれていることを考えると、(たとえば JavaScript を使用して) WebBrowser コントロール内からページの動作を呼び出すことができれば素晴らしいことです。

これは可能ですか?

4

1 に答える 1

1

私が理解しているように、WP7 Browser で 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 に答える