中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

javascript 異步的innerHTML使用分析

當然,這個分時加載技術(shù)只是一個輔助技術(shù),本身沒有添加節(jié)點的能力。如今,另一種更奇特的技術(shù)Asynchronous innerHTML又被開發(fā)出來了,不能不贊一下外國人在這方面研究是非常超前的。
復制代碼 代碼如下:
function asyncInnerHTML(HTML, callback) {
var temp = document.createElement('div'),
frag = document.createDocumentFragment();
temp.innerHTML = HTML;//要加入的內(nèi)容先放到這里。
(function(){
if(temp.firstChild) {
frag.appendChild(temp.firstChild);//然后一點點挪到文檔碎片
setTimeout(arguments.callee, 0);//利用異步調(diào)用自身拼湊文檔碎片,直到div的節(jié)點被搬空
} else {
callback(frag);//這里才是真正執(zhí)行插入節(jié)點的操作
}
})();
}

此技術(shù)的優(yōu)點:
1. 利用閉包解決 IE6 的內(nèi)存溢出問題
2. 利用setTimeout(fn,0) 這個hack將操作從隊列中拖出,防止瀏覽器假死
3. 利用Document Fragment減少對頁面的渲染次數(shù)
4. 回調(diào)的節(jié)點可以使用 DOM 標準的手法(appendChild)插入(如IE的table,tbody,tr,td等標簽的innerHTML是只讀的)
使用方法:
復制代碼 代碼如下:
var htmlStr = '<div><p>...</p><p>...</p><div><div>...</div>';
asyncInnerHTML(htmlStr, function(fragment){
// You can treat 'fragment' as a regular node.
document.body.appendChild(fragment);
});

不過,這個方法在table中添加節(jié)點時并不是個個瀏覽器都行得通,不得不說是一大敗筆。經(jīng)測試IE8,IE6,F(xiàn)F3.5渲染出現(xiàn)差錯,chrome,safari4,opera10等能完好地把表格渲染出來。估計是IE8等在把節(jié)點轉(zhuǎn)移到文檔碎片時發(fā)生節(jié)點丟失現(xiàn)象。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
在FF3.5的firebug顯示下,table新添加的節(jié)點,標簽都丟失了。
flagment
在IE8的開發(fā)人員工具中,我們發(fā)現(xiàn)table新添加節(jié)點出錯嚴重,見于IE一慣的表現(xiàn),這是很正常的事!
flagment
相關(guān)演示可見無憂的貼子,發(fā)現(xiàn)這種方法不是最佳的插入動態(tài)內(nèi)容的方法。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

JavaScript技術(shù)javascript 異步的innerHTML使用分析,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 日韩在线免费视频 | 天堂一区 | 国产精品视频一二三区 | 成人免费网站在线 | 激情视频中文字幕 | 在线观看午夜视频 | 亚洲国产精品久久久久 | 欧美日韩久久精品 | 国产成人精品亚洲日本在线观看 | 狠狠干av| 国产精品成人一区二区三区夜夜夜 | 成年人在线视频 | av一区二区在线观看 | 日韩成人在线视频 | 日本一区二区三区四区 | a级在线免费 | 久久国内精品 | 中文字幕一区二区三区四区 | 成人亚洲一区 | 国产欧美日韩综合精品一 | 最新中文字幕久久 | av一区二区三区在线观看 | www.亚洲精品 | 一区在线免费视频 | 亚洲国产一区二区三区在线观看 | 精品国产乱码一区二区三区a | 犬夜叉在线观看 | 激情在线视频网站 | 九色视频网站 | 欧美成人激情 | 粉嫩一区二区三区四区公司1 | 国产高清久久 | 91欧美精品成人综合在线观看 | 欧美三级久久久 | 日韩国产在线 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 亚洲成人免费视频在线 | 中文字幕日韩欧美一区二区三区 | 992tv人人草| 91精品国产综合久久小仙女图片 | 搞黄网站在线观看 |