關於document.write()方法重繪頁面問題
2021-08-09 254
學習的時候,document.write()被告知是用來將內容寫進頁面裡面,同時也被告知document.write()方法會重繪頁面,但是關於什麼時候會重繪,什麼時候不會重繪頁面沒有太多解釋。
首先,頁面在生成時有一個輸入流的狀態。在頁面載入時這個狀態是自動開啟的,這時內容會從上至下新增內容,頁面在載入時會從上到下將內容載入到頁面上,在這個時候,document.write()方法會按照正常的順序被載入,但我們不能準確控制載入的位置,只能根據write()方法呼叫的位置使其內容放入頁面大概的位置。這時,document.write()方法只是簡單的寫入內容,不會對頁面進行重繪。
而當頁面載入完成之後,會自動的執行document.close()方法,停止頁面載入階段,而我們在進行單擊或者其他事件進行呼叫時,頁面已經載入完成,這時再使用document.write()方法會重新開始一個新的輸入流,從而會進行重繪頁面。