當前位置:妙知谷 >

遊戲數碼 >電腦 >

JS 中document.write()的用法和清空

JS 中document.write()的用法和清空

可能很多朋友都遇到過這樣的情況,那就是使用e()函數向網頁中寫內容的時候,會把文檔中的原來的內容給清空,這一點對於初學者來説算是一個困擾,下面就介紹一下為什麼會出現這種情況,當然也就知道如何避免此種情況的發生了。

操作方法

(01)先看一段代碼實例:

JS 中e()的用法和清空

(02)從以上代碼的可以看出e()函數將原來的文檔內容清空了,下面介紹一下出現此種情況的原因:ad事件是在文檔內容完全加載完畢再去執行事件處理函數,當然文檔流已經關閉了,這個時候執行()函數會自動調用()函數創建一個新的文檔流,並寫入新的內容,再通過瀏覽器展現,這樣就會覆蓋原來的內容。不過很多朋友還有會這樣的疑問,為什麼類似下面的情況,原來網頁中的內容不會被覆蓋,代碼如下:

JS 中e()的用法和清空 第2張

(03)在以上代碼中,原來的文檔內容並沒有被清空,這是因為當前文檔流是由瀏覽器所創建,並且e()函數身處其中,也就是執行此函數的時候文檔流並沒有被關閉,這個時候不會調用()函數創建新文檔流,所以也就不會被覆蓋了。可能還有朋友會問為什麼下面的方式還是不行,代碼如下:

JS 中e()的用法和清空 第3張

(04)上面使用e()關閉文檔流了,為什麼還是不能夠覆蓋原來的內容的,很遺憾,文檔流是由瀏覽器創建,無權限手動關閉,e()函數只能夠關閉由()函數創建的文檔流。看下面的代碼實例:

JS 中e()的用法和清空 第4張

(05)由()創建的文檔流就可以由e()關閉,那麼第二個e()輸出的內容會覆蓋掉第一個輸出的內容。異步引用外部JavaScript時,必須先運行()清空文檔,然後才能運行e(),參數寫在body內容的開頭。如果不先運行(),直接運行e(),則無效且Chrome有如下提示:

JS 中e()的用法和清空 第5張

(06)e()也能寫入含有script標籤的字符串,但是需要轉義。寫入的script標籤中的內容會正常運行。

JS 中e()的用法和清空 第6張
標籤: js documentwrite 清空
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/14d0e.html