您的問題可能是由於使用舊版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();