使用 Web 浏览器控件在 WP8 中隐藏来自 Javascript 的警报框

Hide alert box coming from Javascript in WP8 using web browser control

本文关键字:Javascript 隐藏 浏览器 Web 控件 WP8 使用      更新时间:2023-09-26

我正在我的Windows Phone 8应用程序中使用Web浏览器控件。在这里,我调用一个Java脚本功能,如下所示:

browser.InvokeScript("callMyJavaScriptFunction");

此Javascript函数显示一个警报框,在该警报框中,该警报框正在变为MessageBox。我想隐藏来自Javascript的警报。

在这里,我无法更改Javascript中的代码。

如何在我的 xaml.cs 文件中隐藏来自 Javascript 的警告框?

你可以

劫持默认的window.alert JavaScript函数,让它什么都不做。方法如下:

订阅 WebBrowser 控件的 Navigated 事件,以确保在注入所需脚本之前页面已完全加载:

browser.Navigated += browser_Navigated;

window.alert 方法设置为不执行任何操作:

void browser_Navigated(object sender, NavigationEventArgs e)
{
    string[] code = {"window.alert = function(message) { };"};
    browser.InvokeScript("eval", code);
}