簡(jiǎn)介 動(dòng)態(tài) HTML (DHTML) 在 Microsoft® Internet Explorer 4.0 中的引入,使 Web 作者和開發(fā)人員可以使用新的編程模型。此后,Web 作者充分利用了這個(gè)強(qiáng)大的特性來提供動(dòng)態(tài)內(nèi)容、樣式和定位,使 Web 用戶得以體驗(yàn)豐富的交互式功能。DHTML 的靈活性使得通常會(huì)有多種方式可以實(shí)現(xiàn)您的構(gòu)思。理解 Internet Explorer 的 HTML 分析和顯示組件如何處理請(qǐng)求,可幫助您確定完成工作的最佳方法。本文介紹了某些 DHTML 功能對(duì)性能的重大影響,并提供了一些提高頁面性能的技巧。
成批處理 DHTML 更改 在 DHTML Web 頁面上,提高性能的最有效方法是改進(jìn)對(duì)頁面上 HTML 內(nèi)容的更改。有多種方法可以更新 Web 頁面,了解這一點(diǎn)非常重要。從客戶的反饋來看,Web 作者可以應(yīng)用 HTML 文本塊,也可以通過使用 DHTML 對(duì)象模型(英文)或 W3C 文檔對(duì)象模型 (DOM)(英文)來訪問個(gè)別 HTML 元素。無論何時(shí)更改 HTML 內(nèi)容,Internet Explorer 的 HTML 分析和顯示組件都必須重新組織該頁面的內(nèi)部表現(xiàn)形式,重新計(jì)算文檔布局和文檔流,并顯示這些變化。雖然實(shí)際性能由 Web 頁面的內(nèi)容和您所作的更改決定,但是這些操作代價(jià)都比較大。如果您應(yīng)用 HTML 文本塊,而不是個(gè)別訪問元素,則必須調(diào)用 HTML 分析器,這將導(dǎo)致額外的性能開銷。接受 HTML 文本的方法和屬性包括 insertAdjacentHTML(英文)和 pasteHTML(英文)方法,以及 innerHTML(英文)和 outerHTML(英文)屬性。
技巧 1:在一個(gè)腳本函數(shù)中對(duì) HTML 內(nèi)容進(jìn)行更改。如果您的設(shè)計(jì)使用了多個(gè)事件處理程序(例如響應(yīng)鼠標(biāo)移動(dòng)),則應(yīng)集中進(jìn)行更改。
HTML 分析和顯示組件的另一項(xiàng)重要事實(shí)是:一旦腳本返回控制(例如,當(dāng)腳本事件處理函數(shù)退出時(shí),或者當(dāng)調(diào)用 setTimeout(英文)等方法時(shí)),該組件將重新計(jì)算布局并顯示 Web 頁面。現(xiàn)在,您已經(jīng)了解 Internet Explorer 如何處理變化,下面將開始提高 Web 頁面的性能。