IE報錯SCRIPT5011:不能執行已釋放Script的程式碼

黎明的太阳發表於2024-06-20

錯誤現象:IE瀏覽器異常js報錯,谷歌正常。

錯誤原因:

父頁面結果列表中open彈窗修改資訊,子頁面提交後,重新整理父頁面的form表單,顯示新值。在新頁面沒重新整理之前,又點選編輯,open子頁面,此時在ie模式下,無法提交表單。

解決方案:

1簡單方法。

父頁面:

form下寫一個遮罩層。子頁面提交後開啟,父頁面重新整理後自動關閉。

<form>
<div>查詢結果</div>
<!-- 遮罩層 -->
<div id="overlay" style="display:none; position:fixed; top:0; left:0; right:0; bottom:0; ">
<div style="position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;">
<h1>loading...</h1>
</div>
</div>
</form>
js:
父頁面提交子頁面表單的回撥函式
if(iframe.adjust()=="success")
          {     
var overlay = document.getElementById('overlay');
overlay.style.display = 'block'; // 顯示遮罩層
// 重新整理父頁面
formSubmit("Form");
       }
方法2:
提交方法寫到子頁面中,實現比較複雜,不寫了。


相關文章