最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iframe如何動態(tài)創(chuàng)建及釋放其所占內(nèi)存

 更新時間:2014年09月03日 08:41:40   投稿:whsnow  
一個項目后期測試發(fā)現(xiàn)瀏覽器內(nèi)存一直居高不下,而且打開iframe頁面越多內(nèi)存占用越大,在IE系列瀏覽器中尤其明顯,下面與大家分享下iframe動態(tài)創(chuàng)建及釋放內(nèi)存

最近參與一個項目的開發(fā),由于項目是基于瀏覽器的胖客戶端(RIA)應(yīng)用程序,頁面中大量調(diào)用iframe。后期測試發(fā)現(xiàn)瀏覽器內(nèi)存一直居高不下,而且打開iframe頁面越多內(nèi)存占用越大,在IE系列瀏覽器中尤其明顯。所有打開的iframe頁面即使關(guān)閉了,內(nèi)存使用也沒有明顯的下降,IE瀏覽器在內(nèi)存占用達到400M左右就變得很卡。分析發(fā)現(xiàn)是iframe沒有釋放造成的,于是對所有已關(guān)閉的iframe所占用的內(nèi)存進行釋放,雖然不能完全釋放,但是iframe內(nèi)存占用量不會一直增長,整個應(yīng)用內(nèi)存使用量控制在150M左右。

/** 
* 動態(tài)創(chuàng)建iframe 
* @param dom 創(chuàng)建iframe的容器,即在dom中創(chuàng)建iframe。dom可以是div、span或者其他標簽。 
* @param src iframe中打開的網(wǎng)頁路徑 
* @param onload iframe加載完后觸發(fā)該事件,可以為空 
* @return 返回創(chuàng)建的iframe對象 
*/ 
function createIframe(dom, src, onload){ 
//在document中創(chuàng)建iframe 
var iframe = document.createElement("iframe"); 

//設(shè)置iframe的樣式 
iframe.style.width = '100%'; 
iframe.style.height = '100%'; 
iframe.style.margin = '0'; 
iframe.style.padding = '0'; 
iframe.style.overflow = 'hidden'; 
iframe.style.border = 'none'; 

//綁定iframe的onload事件 
if(onload && Object.prototype.toString.call(onload) === '[object Function]'){ 
if(iframe.attachEvent){ 
iframe.attachEvent('onload', onload); 
}else if(iframe.addEventListener){ 
iframe.addEventListener('load', onload); 
}else{ 
iframe.onload = onload; 
} 
} 

iframe.src = src; 
//把iframe加載到dom下面 
dom.appendChild(iframe); 
return iframe; 
} 

/** 
* 銷毀iframe,釋放iframe所占用的內(nèi)存。 
* @param iframe 需要銷毀的iframe對象 
*/ 
function destroyIframe(iframe){ 
//把iframe指向空白頁面,這樣可以釋放大部分內(nèi)存。 
iframe.src = 'about:blank'; 
try{ 
iframe.contentWindow.document.write(''); 
iframe.contentWindow.document.clear(); 
}catch(e){} 
//把iframe從頁面移除 
iframe.parentNode.removeChild(iframe); 
}

相關(guān)文章

  • 關(guān)于JSON與JSONP簡單總結(jié)

    關(guān)于JSON與JSONP簡單總結(jié)

    JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。而JSONP(JSON with Padding)是資料格式 JSON 的一種“使用模式”。下面是小編總結(jié)的關(guān)于JSON與JSONP知識,感興趣的朋友一起看下吧
    2016-08-08
  • JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    Array.from方法是ES6引入的一個靜態(tài)方法,用于從類數(shù)組對象或可迭代對象創(chuàng)建一個新的數(shù)組實例,本文將詳細介紹Array.from的基本用法、實際場景中的應(yīng)用,以及它如何與其他JavaScript特性相結(jié)合提升代碼的簡潔性和可讀性,感興趣的朋友一起看看吧
    2025-03-03
  • JavaScript中正則表達式判斷匹配規(guī)則及常用方法

    JavaScript中正則表達式判斷匹配規(guī)則及常用方法

    JS作為一門常用于web開發(fā)的語言,必然要具備正則這種強大的特性,本文將對JS中的正則用法及常用函數(shù)進行一番總結(jié)
    2017-08-08
  • 微信小程序之swiper輪播圖中的圖片自適應(yīng)高度的方法

    微信小程序之swiper輪播圖中的圖片自適應(yīng)高度的方法

    這篇文章主要介紹了微信小程序之swiper輪播圖中的圖片自適應(yīng)高度的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • javascript實現(xiàn)考勤日歷功能

    javascript實現(xiàn)考勤日歷功能

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)考勤日歷功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Electron 結(jié)合 Selenium + chromedriver 驅(qū)動服務(wù)實現(xiàn)瀏覽器多開思路詳解

    Electron 結(jié)合 Selenium + chromedriver 

    這篇文章主要介紹了Electron 結(jié)合 Selenium + chromedriver 驅(qū)動服務(wù)實現(xiàn)瀏覽器多開思路詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07
  • JS實現(xiàn)用特殊符號替換字符串的中間部分區(qū)域的實例代碼

    JS實現(xiàn)用特殊符號替換字符串的中間部分區(qū)域的實例代碼

    相信很多人都遇到過敏感信息需要做部分隱藏功能,大多數(shù)都是用特殊符號去替換。今天小編給大家?guī)砹薐S實現(xiàn)用特殊符號替換字符串的中間部分區(qū)域的實例代碼,需要的朋友參考下吧
    2018-07-07
  • JS實現(xiàn)簡易留言板(節(jié)點操作)

    JS實現(xiàn)簡易留言板(節(jié)點操作)

    這篇文章主要為大家詳細介紹了JS實現(xiàn)簡易留言板,節(jié)點進行操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • DEDECMS如何為文章添加HOT NEW標志圖片

    DEDECMS如何為文章添加HOT NEW標志圖片

    再用織夢建站的時候,常常需要要在列表頁添加前兩天的文章后面添加個new小圖片,那么此功能是怎么實現(xiàn)的呢,下面通過本文給大家詳解dedecms為文章添加HOT NEW標志圖片,需要的朋友可以參考下
    2015-08-08
  • layui實現(xiàn)給某一列加點擊事件

    layui實現(xiàn)給某一列加點擊事件

    今天小編就為大家分享一篇layui實現(xiàn)給某一列加點擊事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10

最新評論

佛教| 吉首市| 平陆县| 涡阳县| 商都县| 东乡县| 新乐市| 海安县| 平度市| 崇阳县| 平利县| 漳浦县| 越西县| 铜梁县| 任丘市| 诏安县| 四子王旗| 东海县| 宣化县| 新郑市| 定西市| 乐陵市| 聊城市| 五峰| 平陆县| 桂平市| 宝丰县| 陆河县| 雷山县| 滁州市| 额尔古纳市| 台中市| 永济市| 阳信县| 白城市| 沙湾县| 德化县| 汕尾市| 五大连池市| 闽清县| 大名县|