document.write()方法能夠用在兩個方面:頁面載入過程當中用實時腳本建立頁面內容,以及用延時腳本建立本窗口或新窗口的內容。該方法須要一個字符串參數,它是寫到窗口或框架中的HTML內容。這些字符串參數能夠是變量或值爲字符串的表達式,寫入的內容經常包括HTML標記語言。
記住,在載入頁面後,瀏覽器輸出流自動關閉。在此以後,任何一個對當前頁面進行操做的document.write()方法將打開—個新的輸出流,它將清除當前頁面內容(包括源文檔的任何變量或值)。所以,假如但願用腳本生成的HTML替換當前頁面,就必須把HTML內容鏈接起來賦給一個變量,使用一個document.write()方法完成寫操做。沒必要清除文檔並打開一個新數據流,一個document.write()調用就可完成全部的操做。
關於document.write()方法還有一點要說明的是它的相關方法document.close()。腳本向窗口(無論是本窗口或其餘窗口)寫完內容後,必須關閉輸出流。在延時腳本的最後一個document.write()方法後面,必須確保含有document.close()方法,不這樣作就不能顯示圖像和表單。而且,任何後面調用的document.write()方法只會把內容追加到頁面後,而不會清除現有內容來寫入新值。爲了演示document.write()方法,咱們提供了同一個應用程序的兩個版本。一個向包含腳本的文檔中寫內容,另—個向—個單獨的窗口寫內容。請在文本編輯器中鍵人每一個文檔,以.html文件擴展名保存,並在瀏覽器中打開文檔。html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"><title>Writing to Same Doc</title> 3 <script language="JavaScript"> 4 function reWrite(){ 5 // assemble content for new window 6 var newContent = "<html><head><title>A New Doc</title></head>" 7 newContent += "<body bgcolor='aqua'><h1>This document is brand new.</h1>" 8 newContent += "Click the Back button to see original document." 9 newContent += "</body></html>" 10 // write HTML to new window document 11 document.write(newContent) 12 document.close() // close layout stream 13 } 14 </script> 15 </head> 16 <body> 17 <form> 18 <input type="button" value="Replace Content" onClick="reWrite()"> 19 </form> 20 </body> 21 </html>
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"><title>Writing to Subwindow</title> 3 <script language="JavaScript"> 4 var newWindow 5 function makeNewWindow(){ 6 newWindow = window.open("","","status,height=200,width=300") 7 } 8 9 function subWrite(){ 10 // make new window if someone has closed it 11 if(newWindow.closed){ 12 makeNewWindow() 13 } 14 // bring subwindow to front 15 newWindow.focus() 16 // assemble content for new window 17 var newContent = "<html><head><title>A New Doc</title></head>" 18 newContent += "<body bgcolor='coral'><h1>This document is brand new.</h1>" 19 newContent += "</body></html>" 20 // write HTML to new window document 21 newWindow.document.write(newContent) 22 newWindow.document.close() // close layout stream 23 } 24 </script> 25 </head> 26 27 <body onLoad="makeNewWindow()"> 28 <form> 29 <input type="button" value="Write to Subwindow" onClick="subWrite()"> 30 </form> 31 </body> 32 </html>