[英]Internet Explorer Script Error, Message from Webpage, Permission denied
我正在使用VB6應用程序中的IE嵌入式實例(Active X?)。
瀏覽器顯示基於所選人員的人口統計信息(顯示為列表)。
一切正常,直到我嘗試從列表中快速選擇其他人(我會盡可能快地在其他人上隨機單擊)。 單擊幾次后,出現兩個錯誤。
第一個是“ Internet Explorer腳本錯誤 ”
它說:
此頁面上的腳本中發生錯誤
線:
字符:
錯誤:
碼:
URL:是否要繼續在此頁面上運行腳本? 是|否
(行,字符,錯誤,代碼,URL均為空白)。
第二個錯誤直接彈出第一個錯誤。
它說:
“ 來自網頁的消息
此對話框發生錯誤
錯誤:53權限被拒絕 “
該頁面進行了多個ajax調用,並且還包含多個iFrame(我認為這是原因)。
任何有關如何調試/解決/避免問題的建議將不勝感激。
謝謝!
編輯
這是錯誤的圖片
編輯
我得到一個JScript匿名函數,碰巧捕獲到該錯誤時沒有可用的源。
編輯
我已經成功捕獲了一些錯誤。 看來它們主要源於MicrosoftAjax.js
我的宿主應用程序根本沒有使用MicrosoftAjax.js,但是子iFrame應用程序都是asp.Net應用程序。
經過大量測試並嘗試確定是否真的需要編輯MicrosoftAjax.js來解決問題,我終於找到了似乎可以解決該問題的解決方案。
我加了
<script type="text/javascript">
window.onerror = function (e) { return true; }
</script>
到我通過iFrame拉入的曾經應用程序的標頭,以及父頁面。 自從我進行了這些更改以來,已經過去了大約兩天,到目前為止一切都很好(盡管我還需要再進行幾天的測試,以確保它可以100%正常工作)。
我之前曾嘗試過此方法,但沒有成功,但這是由於腳本的位置所致。 我之前有其他腳本(例如jQuery和MicrosoftAjax)。 這些腳本在我的window.onerror腳本被評估之前就拋出了錯誤。
另一個有趣的事情是,無論父頁面上的錯誤處理如何,iFrame錯誤似乎都會冒出來。 因此,我進入了我們的代碼存儲庫,並對要引入的每個應用程序進行了必要的更改。
最后,我想對@Jacob表示感謝,感謝他對解決此問題提供了初步幫助。
編輯
只是想補充一點,我寧願修復錯誤而不是掩埋錯誤,但是為了節省時間,這是我目前使用的解決方案。
如果只想抑制Javascript錯誤,請嘗試將WebBrowser
的Silent
屬性設置為True
。
我發現大多數IE“權限被拒絕”錯誤都與在Windows /框架之間共享Javascript對象有關。 由於您是通過快速隨機點擊來生成的,因此我猜想這與iframe / windows在其內容仍處於訪問狀態時消失有關。
您可以用來避免這些問題的一種策略是,不要在幀之間共享任何對象。 無論在何處創建對象,該框架都應負責所有操作並對其成員進行訪問。 外部訪問應通過調用“接口” Javascript函數來完全控制。
嘗試
WebBrowser1.ScriptErrorsSuppressed = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.