您的问题可能是由于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();