簡體   English   中英

Internet Explorer腳本錯誤,網頁消息,權限被拒絕

[英]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-Sys._Application.callBaseMethod(this,“ initialize”); 預期對象
  • 發生一次:jquery-1.4.2.min.js-預期的b.InsertBefore(d,b.firstChild)對象
  • 發生一次:內存不足異常。

我的宿主應用程序根本沒有使用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錯誤,請嘗試將WebBrowserSilent屬性設置為True

我發現大多數IE“權限被拒絕”錯誤都與在Windows /框架之間共享Javascript對象有關。 由於您是通過快速隨機點擊來生成的,因此我猜想這與iframe / windows在其內容仍處於訪問狀態時消失有關。

您可以用來避免這些問題的一種策略是,不要在幀之間共享任何對象。 無論在何處創建對象,該框架都應負責所有操作並對其成員進行訪問。 外部訪問應通過調用“接口” Javascript函數來完全控制。

嘗試

WebBrowser1.ScriptErrorsSuppressed = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM