国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

js document.write()使用介紹

2019-11-20 21:03:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在載人頁(yè)面后,瀏覽器輸出流自動(dòng)關(guān)閉;在此之后,任何一個(gè)對(duì)當(dāng)前頁(yè)面進(jìn)行操作的document.write()方法將打開(kāi)―個(gè)新的輸出流。它將清除當(dāng)前頁(yè)面內(nèi)容(包括源文檔的任何變量或值)、因此.假如希望用腳本生成的HTML替換當(dāng)前頁(yè)面,就必須把HTML內(nèi)容連接起來(lái)賦給一個(gè)變量、使用一個(gè)document.write()方法完成寫操作,不必清除文檔并打開(kāi)一個(gè)新數(shù)據(jù)流,一個(gè)document.write()調(diào)用就可完成所有的操作。

關(guān)于document.write()方法還有一點(diǎn)要說(shuō)明的是它的相關(guān)方法document.close()。腳本向窗口(不管是本窗口或其他窗口)寫完內(nèi)容后.必須關(guān)閉輸出流。在延時(shí)腳本的最后一個(gè)document.write()方法后面.必須確保含有document.close()方法,不這樣做就不能顯示圖片和表單。并且,任何后面調(diào)用的document.write()方法只會(huì)把內(nèi)容追加到頁(yè)面后,而不會(huì)清除現(xiàn)有內(nèi)容來(lái)寫入新值。

document.write方法

一個(gè)最基本的JavaScript命令是document.write。這個(gè)命令簡(jiǎn)單地打印指定的文本內(nèi)容到頁(yè)面上。為了逐字打印文本,在打印的文本字符串加上單引號(hào)。

復(fù)制代碼 代碼如下:

document.write('Hello World!'); 

上面的js代碼將會(huì)在頁(yè)面上顯示出"Hello World!"
你可以使用document.write 打印變量。輸入變量名稱不加上引號(hào),如下:

復(fù)制代碼 代碼如下:

var mytext = "Hello again";
document.write(mytext);

注意:如果變量名稱加上引號(hào),將會(huì)打印出變量名稱(不會(huì)打印變量值)。你可以使用“+”符號(hào)來(lái)連接變量值和文本字符串。

復(fù)制代碼 代碼如下:

var colour1 = "purple";  
var colour2 = "pink";
document.write('<p>colour1: ' + colour1 + '<br>colour2: ' + colour2 + '</p>'); 

打印結(jié)果如下:

colour1: purple
colour2: pink

document.write也多用于加載js廣告

復(fù)制代碼 代碼如下:

document.write('<scri'+'pt src="http://m.survivalescaperooms.com/ad.js" type="text/javascript"></s'+'cript>');
document.write("<scri"+"pt src='//m.survivalescaperooms.com/ad.js' type='text/javascript'></s"+"cript>");
document.write("<scri"+"pt src=/"http://m.survivalescaperooms.com/ad.js/" type=/"text/javascript/"></s"+"cript>");

一般外面用單引號(hào)(雙引號(hào))連接字符,里面的就要用雙信號(hào)(單引號(hào)),這樣就不會(huì)錯(cuò)了。當(dāng)然也可以用轉(zhuǎn)義字符,但這樣以后修改比較麻煩。

document.write這種方式加載的js是異步的

復(fù)制代碼 代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ru">
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312">   
    </head>   
    <script type="text/javascript">
    function load(js){
    var s = document.createElement('script'); 
    s.setAttribute('type','text/javascript'); 
    s.setAttribute('src',js); 
    var head = document.getElementsByTagName('head'); 
    head[0].appendChild(s); 

    }
    function write(js){
    document.write('<script type="text/javascript" src="'+js+'" > <//script>');
    }  

           load("http://m.survivalescaperooms.com/js/2011/jquery-1.5.1.min.js");
          // write("http://m.survivalescaperooms.com/js/2011/jquery-1.5.1.min.js");

   </script>
<script>
alert($);
</script>

問(wèn): 用createElement("script")的方式加載,調(diào)用函數(shù)就會(huì)報(bào)錯(cuò),用document.write就不報(bào)錯(cuò)?

答案:

對(duì)于動(dòng)態(tài)創(chuàng)建的js 引用而言 ,針對(duì)不同的瀏覽器有不同的反應(yīng)  
樓主的這種寫法 對(duì) FF Opera 而言 load 方法是阻塞的 故alert($)能輸出,而對(duì)IE Chrome Safria 而言 是非阻塞的 所以就會(huì)報(bào)錯(cuò) 
而document.write的方式,對(duì)所有瀏覽器而言都是阻塞的 即同步的 所以alert($)會(huì)輸出正確結(jié)果

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉义县| 三门峡市| 积石山| 安义县| 米易县| 湾仔区| 江陵县| 景洪市| 台北市| 贵州省| 普洱| 长沙市| 梧州市| 吕梁市| 肇州县| 永川市| 卫辉市| 濮阳市| 青铜峡市| 屏边| 内黄县| 贵阳市| 靖州| 伊金霍洛旗| 公安县| 宜城市| 汤阴县| 滁州市| 大悟县| 徐州市| 远安县| 樟树市| 公主岭市| 江山市| 高淳县| 东方市| 安乡县| 高要市| 自治县| 清镇市| 诸城市|