一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

“不能執行已釋放的Script代碼”錯誤的原因及解決辦法

很多web開發者或許都遇到過這樣的問題,程序莫名奇怪出現“不能執行已釋放Script的代碼”,錯誤行1,列1.對于這種消息描述不著邊,行列描述更是讓人迷茫的js錯誤,相信是所有調試js程序的朋友們最郁悶也最憎恨的事情!遇到這種問題,最簡單的辦法直接把錯誤貼到baidu或google那個小輸入框中讓他們先給點指點,再去解決,可這次卻沒有這么容易,在baidu搜索似乎很多人都遇到過這種問題,但是都是些什么qq空間錯誤,狂暈,或者就是只有問沒有答的,悶!

   這種錯誤從何調起?后面沒辦法,又是猜測又是try...catch蹦錯誤,找了半天終于找到錯誤的位置,可是發現寫的并沒有什么問題,后來絞盡腦汁思考程序的解釋過程,確依舊沒有什么頭緒。繼續baidu,突然在某網頁中看到一句話:當一個頁面關閉時會自動釋放頁面的js。短短一句話給了我不小的啟發。檢查我的程序是否有頁面的關閉或轉向,發現是執行了轉向,然后再回到這個頁面時出現了錯誤。突然間覺得明白了。

場景:頁面有a和b兩個框架頁iframe,在b頁面中通過js將一個函數引用(函數指針)傳入到a頁面并保存在a頁面的一個變量中,a頁面可以通過這個引用操作b頁面或執行b頁面的一些程序,記住:此時在a頁面中的變量保存的是b頁面某函數的指針(內存地址),當b頁面刷新或重定向后由于b頁面重新構建,所以b頁面中的函數指針就發生了變化,但a中仍然保存著b頁面刷新前傳過來的指針(內存地址),這時a頁面中變量通過所指向的指針地址就無法訪問到b頁面中對應的函數了(因為函數指針地址已經發生了變化,及原來的內存指針已經釋放),這樣在執行時就會出現“不能執行已經釋放的Script代碼”的錯誤。

解決辦法:在a頁面中加上容錯處理,當引用出現錯誤時要將保存的引用(函數指針)清空或指向一個默認的函數。另外在b頁面再次載入時要重新給a頁面傳送函數引用,這樣就不會出現這樣的錯誤了。

或許這里的描述有些過于抽象了,看一個演示再看看代碼就容易明白了,先test,然后return url,之后再test就會出現這個問題了。

JavaScript技術“不能執行已釋放的Script代碼”錯誤的原因及解決辦法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91精品啪在线观看国产 | 色老板在线免费 | 日本在线一区二区 | 国语对白一区二区三区 | 巨臀中文字幕一区二区翘臀 | 欧美日韩亚洲区久久综合 | 中文有码中文字幕免费视频 | 欧美中文小说在线观看 | 色女生影院| 好吊色在线| 51国产黑色丝袜高跟鞋 | 任我鲁任我在线精品视频 | 久久中文网中文字幕 | 久久国产精品久久精 | 91精品国产麻豆国产自产在线 | 一区二区中文字幕 | 久久亚洲国产成人亚 | 日本一区免费在线 | 欧美性禁片在线观看 | 四虎成人4hutv影院 | 亚洲欧美一区二区久久 | 狠狠五月深爱婷婷网免费 | 亚洲一区二区三区四区在线 | 色婷婷久 | 成人在激情在线视频 | 亚洲一区二区三区成人 | 久久免费福利视频 | 色老板美国在线观看 | 亚洲欧美日韩国产一区二区精品 | 午夜精品久久久久久中宇 | 日韩激情在线 | 日本一区二区三区在线 视频 | 亚洲一区第一页 | 97豆奶| 色老板在线视频观看 | 我被黑人巨大开嫩苞在线观看 | 成年人免费在线视频网站 | 欧美综合第一页 | 四虎网站| 国产在视频线精品视频 | 怡红院亚洲红怡院天堂麻豆 |