四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

防止動態(tài)加載JavaScript引起的內(nèi)存泄漏問題

為了釋放腳本資源,通常在返回后還要一些進(jìn)行額外的處理。
復(fù)制代碼 代碼如下:
script = document.createElement('script');
script.src =
'http://example.com/cgi-bin/jsonp?q=What+is+the+meaning+of+life%3F';
script.id = 'JSONP';
script.type = 'text/Javascript';
script.charset = 'utf-8';
// 標(biāo)簽加到head后,會自動加載并運行。
var head = document.getElementsByTagName('head')[0];
head.appendChild(script)

實際上很多流行的JS庫都采用這種方式,創(chuàng)建一個scritp標(biāo)簽,賦予一個ID后加載腳本(比如YUI get()),加載完并回調(diào)后清除該標(biāo)簽。問題在于當(dāng)你清除這些script標(biāo)簽的時候,瀏覽器僅僅是移除該標(biāo)簽結(jié)點。
復(fù)制代碼 代碼如下:
var script = document.getElementById('JSONP');
script.parentNode.removeChild(script);

當(dāng)瀏覽器移除這標(biāo)簽結(jié)點后的同時并沒對結(jié)點內(nèi)JavaScript資源的進(jìn)行垃圾回收,這意味著移除標(biāo)簽結(jié)點還不夠,還得手動的清除script標(biāo)簽結(jié)點的內(nèi)容:
復(fù)制代碼 代碼如下:
// Remove any old script tags.
var script;
while (script = document.getElementById('JSONP')) {
script.parentNode.removeChild(script);
// 瀏覽器不會回收這些屬性所指向的對象.
//手動刪除它以免內(nèi)存泄漏.
for (var prop in script) {
delete script[prop];
}
}

JavaScript技術(shù)防止動態(tài)加載JavaScript引起的內(nèi)存泄漏問題,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 横冲直撞好莱坞| 爱情电影网aqdy| nina hartley| 抖音手机版| 我的冠军男友在线看全集完整| 《遇见你之后》电影在线观看| 涨潮海岸| 恶魔实验豚鼠| 男女视频在线播放| 五年级下册语文第七单元口语交际| 周秀娜三级大尺度视频| 爱情和战争| 182tv福利视频| 牵着妈妈的手广场舞| 蒋祖曼| 意乱情迷| 尸家重地演员表| 工会基层组织选举工作条例| 永远少年电影免费播放| 色戒在线观看汤唯| 铁血独立营| 大班安全活动教案40篇| 章莹| 飞头魔女| 恶魔之吻1993完整版在线观看| 风流一代电影| 许戈辉个人资料简介| 向着胜利前进演员表| 重点监管的危险化工工艺| 叶玉卿电影| 香港之夜在线观看免费版香港电影| 《东北警察故事2》大结局| 赌侠 1990 刘德华| 年十二的图片| 巴霍巴利王:开端 2015 帕拉巴斯| 钩织包包教程视频| 视频 | vk| 好像也没那么热血沸腾电影免费观看| 白上关花电影在线观看免费| 夜电影| 奇奇颗颗说恐龙|