1

Windows Phone 8 アプリで Webbrowser コントロールを使用しています。ここでは、以下のような Java Script 関数を呼び出しています。

browser.InvokeScript("callMyJavaScriptFunction");

この Javascript 関数はアラート ボックスを表示しています。アプリでは、そのアラート ボックスが MessageBox になっています。Javascript からのアラートを非表示にしたい。

ここでは、Javascript のコードを変更できません。

xaml.cs ファイルの Javascript からのアラート ボックスを非表示にするにはどうすればよいですか?

4

1 に答える 1

0

デフォルトのwindow.alertJavaScript 関数をハイジャックして、何もしないようにすることができます。方法は次のとおりです。

NavigatedコントロールのイベントをサブスクWebBrowserライブして、必要なスクリプトを挿入する前にページが完全にロードされていることを確認します。

browser.Navigated += browser_Navigated;

window.alertメソッドを何もしないように設定します。

void browser_Navigated(object sender, NavigationEventArgs e)
{
    string[] code = {"window.alert = function(message) { };"};
    browser.InvokeScript("eval", code);
}
于 2013-09-25T10:11:57.097 に答える