您的问题可能是由于使用旧版IE的WebBrowser
控件而不是您在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();