你有幾個選項來解決這個問題。最好的選擇是在Internet Explorer中禁用設置「顯示關於每個腳本錯誤的通知」。由於您正在運行HTA,因此您可以通過編程方式修改HKEY_CURRENT_USER註冊表設置(或者只是手動執行一次)。
第二種方法肯定更多是黑客,但這是我在創建選項卡式瀏覽器時自己解決問題的方式在IE之前有一個HTA標籤瀏覽。而不是導航到iframe中的URL,而是希望AJAX請求內容,並預先設置一個腳本塊,將window.onerror設置爲您選擇的函數。然後將整個內容注入到iframe中。這種方法將吞噬任何錯誤,並讓您根據需要選擇報告它們。
除了注入onerror腳本,您還需要對錨點執行一些預解析操作,以便後續點擊通過ajax注入處理程序進行路由。事實證明,這很複雜,因爲你基本上開始編寫自己的瀏覽器。我仍然有該項目的源代碼,所以我將它發佈到bitbucket回購,並讓你探索我的方法。
否則最後一個選擇是發送一封電子郵件給每個站點的管理員,並告訴他們修復他們的friggin錯誤!但我懷疑這種選擇會泛出你:d
編輯:
加載了舊的項目中,我發現,解決的辦法是比以前要少後是活的。現在,x-frame-options標頭指令可以防止google.com甚至在IE8以後的iframe中加載。由於某種原因,window.onerror陷阱沒有捕獲iframe中的錯誤(實際上可能是一個嵌套的iframe問題,但我沒有一個可行的解決方案。)
但我仍然有選擇檢查錯誤對話框的「不再顯示此消息」選項。這使得我的錯誤對話框停止報告問題,它不需要管理員權限。
你能發表有傷害的問題嗎?當我*想*我看到你想要做什麼,實際的頁面代碼將是有用的。此外,「我得到的錯誤」 - 具體是什麼錯誤*? – Piskvor 2010-12-07 21:03:21
你想讓我附上哪些代碼?我的代碼不會創建這些錯誤,我從HTA中獲得的網站確實存在這些錯誤。錯誤是:Javascript錯誤..像任何JavaScript錯誤一樣的常規錯誤。 (就像這個我在網上找到的:http://www.1001bit.com/language_pack/v1.1/images/javascript-error-1.gif)再次感謝 – Rotem 2010-12-07 21:16:08