動態(tài) HTML (DHTML )在 Microsoft? Internet Explorer 4.0中的 引入,使 Web作者和開發(fā)人員可以使用新的編程模型。此后,Web 作者充 分利用了這個強大的特性來提供動態(tài)內容、樣式和定位,使 Web用戶得以 體驗豐富的交互式功能。DHTML 的靈活性使得通常會有多種方式可以實現(xiàn) 您的構思。理解 Internet Explorer的 HTML 分析和顯示組件如何處理請 求,可幫助您確定完成工作的方法。本文介紹了某些 DHTML功能對性 能的重大影響,并提供了一些提高頁面性能的技巧。 成批處理 DHTML 更改 在 DHTML Web頁面上,提高性能的最有效方法是改進對頁面上 HTML 內容的更改。有多種方法可以更新 Web頁面,了解這一點非常重要。從客 戶的反饋來看,Web 作者可以應用 HTML 文本塊,也可以通過使用 DHTML 對象模型(英文)或 W3C文檔對象模型(DOM )(英文)來訪問個別 HTML 元素。無論何時更改 HTML 內容,Internet Explorer 的 HTML 分析和顯 示組件都必須重新組織該頁面的內部表現(xiàn)形式,重新計算文檔布局和文檔 流,并顯示這些變化。雖然實際性能由 Web頁面的內容和您所作的更改決 定,但是這些操作代價都比較大。如果您應用 HTML 文本塊,而不是個別 訪問元素,則必須調用HTML分析器,這將導致額外的性能開銷。接受HTML 文本的方法和屬性包括 insertAdjacentHTML (英文)和 pasteHTML(英 文)方法,以及 innerHTML(英文)和 outerHTML(英文)屬性。 技巧 1:在一個腳本函數(shù)中對 HTML 內容進行更改。如果您的設計使用 了多個事件處理程序(例如響應鼠標移動),則應集中進行更 改。 HTML分析和顯示組件的另一項重要事實是:一旦腳本返回控制(例如, 當腳本事件處理函數(shù)退出時,或者當調用setTimeout(英文)等方法時), 該組件將重新計算布局并顯示W(wǎng)eb頁面,F(xiàn)在您已經了解Internet Explorer 如何處理變化,下面將開始提高 Web頁面的性能。 技巧2:建立一個 HTML 字符串并對文檔進行一次更改,而不是進行多 次更新。如果 HTML 內容不是必要的,可考慮使用 innerText(英文)屬性。 諞韻率糾,藗R冉下姆椒看紊柚胕nnerHTML屬性時都調用HTML 分析器。要提高性能,可以先建立一個字符串,然后將其分配給innerHTML 屬性。 慢: divUpdate.innerHTML = ""; for ( var i=0; i