您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何解決ie11 SCRIPT5011:不能執行已釋放Script的代碼問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
依照我遇到的問題為例:
(我的頁面結構為:父頁面中嵌套有iframe子頁面)
1、造成這種情況的原因是:父頁面初始化聲明變量a為數組(數組對象是引用類型,賦值傳遞的是地址),創建iframe子頁面后給父頁面變量a賦值,賦值后銷毀iframe子頁面,再次調用變量a的時候就會拋出異常‘SCRIPT5011:不能執行已釋放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:不能執行已釋放Script的代碼問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。