gpt4 book ai didi

javascript - 是否可以在 WebBrowser 控件中调试 JavaScript 代码

转载 作者:行者123 更新时间:2023-11-27 23:04:05 25 4
gpt4 key购买 nike

我正在使用 HTML 和 Javascript 编写网页。此页面在 WPF WebBrowser 控件中打开。问题是,此页面上的 JavaScript 可以直接在 Internet Explorer 中正常工作,但不能在 WebBrowser 控件中正常工作,即使我已设置使用 Internet Explorer 11 作为 WebBrowser 控件也是如此。

所以我无法在普通浏览器中重现该问题来调试它。它只能在 WebBrowser 控件中重现。

是否可以在 WebBrowser 中调试 JavaScript 代码来找到问题?我在 WebBrowser 的上下文菜单中没有看到任何带有“检查”字样的项目。

最佳答案

您的问题可能是由于 WebBrowser 控件使用的 IE 版本比您在 Windows 中独立运行的版本旧。

是的,您可以调试您的网页。 JavaScript 有一个名为 window.onerror 的事件,其作用类似于全局 try/catch。这对于捕获意外异常非常有用。

将此添加到您的 JavaScript 以添加您自己的事件处理程序:

window.onerror = function(message, url, lineNumber) 
{
window.external.errorHandler(message, url, lineNumber);
}

事件处理程序将调用 WPF 应用程序中的方法来向您显示错误详细信息。

在您的 WPF 应用程序中创建一个这样的类,您的 JavaScript 将能够访问该类。

[System.Runtime.InteropServices.ComVisibleAttribute(true)] 
public class ScriptInterface
{
void errorHandler(string message, string url, string lineNumber)
{
MessageBox.Show(string.Format("Message: {0}, URL: {1}, Line: {2}"));
}
}

然后将 WebBrowser 控件的 ObjectForScripting 属性设置为处理程序类的实例:

webBrowser1.ObjectForScripting = new ScriptInterface();

关于javascript - 是否可以在 WebBrowser 控件中调试 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com