解決ie11 SCRIPT5011:不能執(zhí)行已釋放Script的代碼問題
依照我遇到的問題為例:
(我的頁面結構為:父頁面中嵌套有iframe子頁面)
1、造成這種情況的原因是:父頁面初始化聲明變量a為數組(數組對象是引用類型,賦值傳遞的是地址),創(chuàng)建iframe子頁面后給父頁面變量a賦值,賦值后銷毀iframe子頁面,再次調用變量a的時候就會拋出異常‘SCRIPT5011:不能執(zhí)行已釋放Script的代碼'。
//父頁面中
var a = [];
//iframe子頁面中
$.each(arr,function (i,v) {
parent.a.push(v);
});
//iframe 子頁面銷毀后 再次調用a 會報錯
2、解決辦法:我們將父頁面中的變量a定義為字符串(字符串是值類型,賦值傳遞的是值),子頁面iframe中給父頁面變量a賦值也為字符串,銷毀iframe后,調用變量a時再解析成數組對象。
//父頁面中
var a = '';
//iframe子頁面中
var aa = []
$.each(arr,function (i,v) {
aa.push(v);
});
a = aa.join(',');
//iframe 子頁面銷毀后 再次調用a.split(',') 就沒問題了
總結
以上所述是小編給大家介紹的解決ie11 SCRIPT5011:不能執(zhí)行已釋放Script的代碼問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
[js高手之路]設計模式系列課程-發(fā)布者,訂閱者重構購物車的實例
下面小編就為大家?guī)硪黄猍js高手之路]設計模式系列課程-發(fā)布者,訂閱者重構購物車的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
JavaScript?中?this?關鍵字的作用及改變其上下文的方法
這篇文章主要介紹了JavaScript?中?this?關鍵字的作用和如何改變其上下文,通過使用?call,?apply,?bind?方法,可以改變函數中的?this?指向,從而在不同的上下文中使用同一個函數,需要的朋友可以參考下2023-01-01

