js document.write()使用介紹
在載人頁面后,瀏覽器輸出流自動關(guān)閉;在此之后,任何一個對當(dāng)前頁面進行操作的document.write()方法將打開—個新的輸出流。它將清除當(dāng)前頁面內(nèi)容(包括源文檔的任何變量或值)、因此.假如希望用腳本生成的HTML替換當(dāng)前頁面,就必須把HTML內(nèi)容連接起來賦給一個變量、使用一個document.write()方法完成寫操作,不必清除文檔并打開一個新數(shù)據(jù)流,一個document.write()調(diào)用就可完成所有的操作。
關(guān)于document.write()方法還有一點要說明的是它的相關(guān)方法document.close()。腳本向窗口(不管是本窗口或其他窗口)寫完內(nèi)容后.必須關(guān)閉輸出流。在延時腳本的最后一個document.write()方法后面.必須確保含有document.close()方法,不這樣做就不能顯示圖片和表單。并且,任何后面調(diào)用的document.write()方法只會把內(nèi)容追加到頁面后,而不會清除現(xiàn)有內(nèi)容來寫入新值。
document.write方法
一個最基本的JavaScript命令是document.write。這個命令簡單地打印指定的文本內(nèi)容到頁面上。為了逐字打印文本,在打印的文本字符串加上單引號。
document.write('Hello World!');
上面的js代碼將會在頁面上顯示出"Hello World!"
你可以使用document.write 打印變量。輸入變量名稱不加上引號,如下:
var mytext = "Hello again";
document.write(mytext);
注意:如果變量名稱加上引號,將會打印出變量名稱(不會打印變量值)。你可以使用“+”符號來連接變量值和文本字符串。
var colour1 = "purple";
var colour2 = "pink";
document.write('<p>colour1: ' + colour1 + '<br>colour2: ' + colour2 + '</p>');
打印結(jié)果如下:
colour1: purple
colour2: pink
document.write也多用于加載js廣告
document.write('<scri'+'pt src="http://www.dbjr.com.cn/ad.js" type="text/javascript"></s'+'cript>');
document.write("<scri"+"pt src='http://www.dbjr.com.cn/ad.js' type='text/javascript'></s"+"cript>");
document.write("<scri"+"pt src=\"http://www.dbjr.com.cn/ad.js\" type=\"text/javascript\"></s"+"cript>");
一般外面用單引號(雙引號)連接字符,里面的就要用雙信號(單引號),這樣就不會錯了。當(dāng)然也可以用轉(zhuǎn)義字符,但這樣以后修改比較麻煩。
document.write這種方式加載的js是異步的
<!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://www.dbjr.com.cn/js/2011/jquery-1.5.1.min.js");
// write("http://www.dbjr.com.cn/js/2011/jquery-1.5.1.min.js");
</script>
<script>
alert($);
</script>
問: 用createElement("script")的方式加載,調(diào)用函數(shù)就會報錯,用document.write就不報錯?
答案:
對于動態(tài)創(chuàng)建的js 引用而言 ,針對不同的瀏覽器有不同的反應(yīng)
樓主的這種寫法 對 FF Opera 而言 load 方法是阻塞的 故alert($)能輸出,而對IE Chrome Safria 而言 是非阻塞的 所以就會報錯
而document.write的方式,對所有瀏覽器而言都是阻塞的 即同步的 所以alert($)會輸出正確結(jié)果
相關(guān)文章
JavaScript trim 去除字符串空格的三種方法(附代碼詳解)
個人認為最好的方法.采用的是正則表達式,這是最核心的原理.因為空格有多種形式。2010-05-05通過js簡單實現(xiàn)將一個文本內(nèi)容轉(zhuǎn)譯成加密文本
將文本內(nèi)容轉(zhuǎn)譯成加密文本,在某些情況下還是比較實用的,下面通過js簡單實現(xiàn)下,感興趣的朋友不要錯過2013-10-10獲取Javscript執(zhí)行函數(shù)名稱的方法
獲取Javscript執(zhí)行函數(shù)名稱的方法...2006-12-12javascript的trim,ltrim,rtrim自定義函數(shù)
今天用到j(luò)avascript去掉一個文本框中字符串兩端的空格,開始還以為有trim,ltrim,rtrim函數(shù)(asp中有這三個函數(shù),弄混了),結(jié)果找半天,沒有找到。最后找到用正則實現(xiàn)這樣功能的自定義函數(shù)。2008-09-09純JavaScript基于notie.js插件實現(xiàn)消息提示特效
這篇文章主要介紹了純JavaScript基于notie.js插件實現(xiàn)消息提示特效,可以制作Alert提示框,確認框和帶輸入的消息框,感興趣的小伙伴們可以參考一下2016-01-01