亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS 中document.write()的用法和清空的原因淺析

 更新時(shí)間:2017年12月04日 12:10:55   作者:abloume  
這篇文章主要介紹了JS 中document.write()的用法和清空的原因淺析,需要的朋友可以參考下

可能很多朋友都遇到過這樣的情況,那就是使用document.write()函數(shù)向網(wǎng)頁中寫內(nèi)容的時(shí)候,會(huì)把文檔中的原來的內(nèi)容給清空,這一點(diǎn)對(duì)于初學(xué)者來說算是一個(gè)困擾,下面就介紹一下為什么會(huì)出現(xiàn)這種情況,當(dāng)然也就知道如何避免此種情況的發(fā)生了。

  先看一段代碼實(shí)例:

<!DOCTYPE html>   
<html>   
  <head>   
  <meta charset=" utf-8">      
  <title>Document</title>   
  <script type="text/javascript"> 
    window.onload=function(){
      document.write("重溫 JavaScript");
    }
  </script> 
</head> 
<body> 
  <div>Hello JavaScript</div> 
</body> 
</html>

  從以上代碼的可以看出document.write()函數(shù)將原來的文檔內(nèi)容清空了,下面介紹一下出現(xiàn)此種情況的原因:

  window.onload事件是在文檔內(nèi)容完全加載完畢再去執(zhí)行事件處理函數(shù),當(dāng)然文檔流已經(jīng)關(guān)閉了,這個(gè)時(shí)候執(zhí)行doucment.writ()函數(shù)會(huì)自動(dòng)調(diào)用document.open()函數(shù)創(chuàng)建一個(gè)新的文檔流,并寫入新的內(nèi)容,再通過瀏覽器展現(xiàn),這樣就會(huì)覆蓋原來的內(nèi)容。不過很多朋友還有會(huì)這樣的疑問,為什么類似下面的情況,原來網(wǎng)頁中的內(nèi)容不會(huì)被覆蓋,代碼如下:

<!DOCTYPE html>   
<html>   
  <head>   
  <meta charset=" utf-8">     
  <title>Document</title>   
  <script type="text/javascript"> 
    document.write("重溫 JavaScript");
  </script> 
</head> 
<body> 
  <div>Hello JavaScript</div> 
</body> 
</html>

  在以上代碼中,原來的文檔內(nèi)容并沒有被清空,這是因?yàn)楫?dāng)前文檔流是由瀏覽器所創(chuàng)建,并且document.wirte()函數(shù)身處其中,也就是執(zhí)行此函數(shù)的時(shí)候文檔流并沒有被關(guān)閉,這個(gè)時(shí)候不會(huì)調(diào)用document.open()函數(shù)創(chuàng)建新文檔流,所以也就不會(huì)被覆蓋了??赡苓€有朋友會(huì)問為什么下面的方式還是不行,代碼如下:

<!DOCTYPE html>   
<html>   
<head>   
  <meta charset=" utf-8">     
  <title>Document</title>   
  <script type="text/javascript">
    document.close(); 
    document.write("重溫 JavaScript");
  </script> 
</head> 
<body> 
  <div>Hello JavaScript</div> 
</body> 
</html>

  上面使用document.close()關(guān)閉文檔流了,為什么還是不能夠覆蓋原來的內(nèi)容的,很遺憾,文檔流是由瀏覽器創(chuàng)建,無權(quán)限手動(dòng)關(guān)閉,document.close()函數(shù)只能夠關(guān)閉由document.open()函數(shù)創(chuàng)建的文檔流??聪旅娴拇a實(shí)例:

<!DOCTYPE html>    
<html>    
<head>    
  <meta charset=" utf-8">      
  <title>Document</title>   
  <script type="text/javascript">  
  function create(){ 
    var newWindow=window.open("","Document","_blank"); 
    newWindow.document.write("Hello JavaScript"); 
    newWindow.document.close(); 
    newWindow.document.write("覆蓋后的輸出"); 
  } 
  window.onload=function(){ 
    var obt=document.getElementById("bt"); 
    obt.onclick=function(){ 
      create(); 
    } 
  } 
</script> 
</head>  
<body>  
  <div id="print">Hello JavaScript</div> 
  <input type="button" id="bt" value="查看效果"/> 
</body>  
</html>

  由doucment.open()創(chuàng)建的文檔流就可以由document.close()關(guān)閉,那么第二個(gè)document.write()輸出的內(nèi)容會(huì)覆蓋掉第一個(gè)輸出的內(nèi)容。

  異步引用外部JavaScript時(shí),必須先運(yùn)行document.open()清空文檔,然后才能運(yùn)行document.write(),參數(shù)寫在body內(nèi)容的開頭。

  如果不先運(yùn)行document.open(),直接運(yùn)行document.write(),則無效且Chrome有如下提示:

這里寫圖片描述

// asyncWrite.js
document.open();
document.write('<p>test</p>');
document.close();
<!-- asyncWrite.html -->
<!-- 運(yùn)行前 -->
<body>
  <script src="asyncWrite.js" async></script>
</body>
<!-- 運(yùn)行后 -->
<body>
  <p>test</p>
</body>

  document.write()也能寫入含有script標(biāo)簽的字符串,但是需要轉(zhuǎn)義。寫入的script標(biāo)簽中的內(nèi)容會(huì)正常運(yùn)行。

<!-- 運(yùn)行前 -->
<script>
  document.write('<script>document.write("<p>test</p>");<\/script>');
</script>
<!-- 運(yùn)行后 -->
<script>
  document.write('<script>document.write("<p>test</p>");<\/script>');
</script>
<script>document.write("<p>test</p>");</script>
<p>test</p>

document.write()可以傳入多個(gè)參數(shù)。

<!-- 運(yùn)行前 -->
<body>
  <script>
    document.write('<h2>multiArgument</h2>','<p>test</p>');
  </script>
</body>
<!-- 運(yùn)行后 -->
<body>
  <script>
    document.write('<h2>multiArgument</h2>','<p>test</p>');
  </script>
  <h2>multiArgument</h2>
  <p>test</p>
</body>

總結(jié)

以上所述是小編給大家介紹的JS 中document.write()的用法和清空的原因淺析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • javascript引用類型之時(shí)間Date和數(shù)組Array

    javascript引用類型之時(shí)間Date和數(shù)組Array

    引用類型的值(對(duì)象)其實(shí)就是引用類型的一個(gè)實(shí)例,接下來,通過本篇文章給大家介紹javascript引用類型之時(shí)間Date和數(shù)組Array,需要的朋友可以參考下
    2015-08-08
  • HTML+CSS+JS實(shí)現(xiàn)抓娃娃機(jī)游戲

    HTML+CSS+JS實(shí)現(xiàn)抓娃娃機(jī)游戲

    這篇文章主要介紹了如何利用HTML+CSS+JS制作抓娃娃機(jī)游戲,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 詳解Bootstrap各式各樣的按鈕(推薦)

    詳解Bootstrap各式各樣的按鈕(推薦)

    Bootstrap為我們提供了各式各樣漂亮的按鈕,我們無需自己給按鈕寫樣式,直接使用它給我們提供的類樣式,使用在我們的按鈕上,非常的簡(jiǎn)單方便
    2016-12-12
  • JavaScript實(shí)現(xiàn)原型封裝輪播圖

    JavaScript實(shí)現(xiàn)原型封裝輪播圖

    這篇文章主要為大家詳細(xì)介紹了JavaScript原型封裝輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 深入解析微信小程序開發(fā)中遇到的幾個(gè)小問題

    深入解析微信小程序開發(fā)中遇到的幾個(gè)小問題

    這篇文章主要介紹了微信小程序開發(fā)中遇到的幾個(gè)小問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 使用JavaScrip模擬實(shí)現(xiàn)仿京東搜索框功能

    使用JavaScrip模擬實(shí)現(xiàn)仿京東搜索框功能

    使用js模擬實(shí)現(xiàn)京東的搜索框,主要用了js中的onfocus(注冊(cè)焦點(diǎn)事件),onblur(失去焦點(diǎn)的事件);本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-10-10
  • 簡(jiǎn)單實(shí)例處理url特殊符號(hào)&處理(2種方法)

    簡(jiǎn)單實(shí)例處理url特殊符號(hào)&處理(2種方法)

    url里的參數(shù)內(nèi)容包含&符合,我有兩種方法解決一是:在頁面用JS轉(zhuǎn)碼;二是:在后端處理,另外還有網(wǎng)絡(luò)分享的一些方法,感興趣的朋友可以參考下哈
    2013-04-04
  • 前端構(gòu)建工具之gulp的配置與搭建詳解

    前端構(gòu)建工具之gulp的配置與搭建詳解

    gulpjs是一個(gè)前端構(gòu)建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡(jiǎn)單,學(xué)習(xí)起來很容易,下面這篇文章主要給大家介紹了關(guān)于前端構(gòu)建工具之gulp的配置與搭建的相關(guān)資料,需要的朋友可以參考下。
    2017-06-06
  • JS定時(shí)器如何實(shí)現(xiàn)提交成功提示功能

    JS定時(shí)器如何實(shí)現(xiàn)提交成功提示功能

    這篇文章主要介紹了JS定時(shí)器如何實(shí)現(xiàn)提交成功提示功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • JavaScript如何監(jiān)測(cè)數(shù)組的變化

    JavaScript如何監(jiān)測(cè)數(shù)組的變化

    最近在造輪子的時(shí)候遇到了這么一個(gè)問題,那就是數(shù)組在調(diào)用內(nèi)部方法的時(shí)候怎么才可以監(jiān)聽到數(shù)組發(fā)生了變化,這篇文章主要給大家介紹了關(guān)于JavaScript如何監(jiān)測(cè)數(shù)組變化的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評(píng)論