JavaScript窗口功能指南之在窗口中書寫內(nèi)容
更新時間:2006年07月21日 00:00:00 作者:
window.open()方法打開一個新窗口,document.open()方法打開一個新文檔,在其中可以使用write()或者writeln()方法書寫內(nèi)容,它的語法是:
oNewDoc = document.open(sMimeType[, sReplace]);
sMineType是一個字符串,它定義了MIME類型。Navigator支持幾種不同的MIME類型,但是Internet Explorer當(dāng)前僅僅支持“text/html”。sMineType參數(shù)是可選的。第2個參數(shù)也是一個字符串,它定義了被書寫的新文檔是否要替換當(dāng)前文檔在歷史記錄中的位置。如果想達(dá)到替換目的,就使用字符串“replace”。
“replace”基本上使用于擁有空文檔或者“about:blank”URL的窗口。定義了“replace”后,write()方法就可以在這個窗口中創(chuàng)建HTML內(nèi)容,并且替換當(dāng)前URL在歷史記錄中的位置。如果沒有定義“replace”,建立的HTML就有它自己的歷史位置,用戶可以點擊后退按鈕向前直到空為止。
看看下面的腳本程序段:
var oNewDoc = document.open("text/html", "replace");
var sMarkup = "<HTML><HEAD><TITLE>New Document</TITLE></HEAD>";
sMarkup += "<BODY>Hello, world!<BR><A HREF=´write.html´>Return</A></BODY></HTML>";
oNewDoc.write(sMarkup);
oNewDoc.close();
如你所見,我們在新文檔中包含了一個鏈接,所以你就可以返回這個頁面。如果你點擊了瀏覽器的后退按鈕,瀏覽器就返回到這個頁面之前的頁面。因為我們使用了“replace”參數(shù),新文檔(被書寫的文檔)替換了當(dāng)前文檔在歷史記錄中的位置,所以點擊后退按鈕不會返回到當(dāng)前頁面(包含腳本程序的頁面)。下面的按鈕執(zhí)行同樣的腳本程序,但是沒有“replace”參數(shù),所以,你可以通過點擊瀏覽器的后退按鈕返回到這個頁面。
以下是這個按鈕的源代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
正如你在上面2個例子中看到的,最后一個語句關(guān)閉了輸出流:
oNewDoc.close();
通常,document.close()方法關(guān)閉輸出流,并且強迫發(fā)送的數(shù)據(jù)顯示出去。
在新窗口中書寫內(nèi)容
看看下面的腳本程序:
var win = window.open("", "win", "width=300,height=200"); // a window object
win.document.open("text/html", "replace");
win.document.write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD>
<BODY>Hello, world!</BODY></HTML>");
win.document.close();
第1個語句打開一個新窗口,它使用了一個空文檔參數(shù)(“”),返回值分配給變量win。然后,我們使用新窗口的文檔對象win.document,在其中書寫一些HTML。定義“replace”是非常必要的,因為我們不想讓一個空白頁面在歷史記錄中占有一項。
因為我們處理同樣的document對象,也許也要分配給它另外一個變量:
var win = window.open("", "win", "width=300,height=200"); // a window object
var doc = win.document;
doc.open("text/html", "replace");
doc.write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD><BODY>Hello,
world!</BODY></HTML>");
doc.close();
我們也可以使用with語句:
var win = window.open("", "win", "width=300,height=200"); // a window object
with (win.document) {
open("text/html", "replace");
write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD><BODY>Hello,
world!</BODY></HTML>");
close();
}
oNewDoc = document.open(sMimeType[, sReplace]);
sMineType是一個字符串,它定義了MIME類型。Navigator支持幾種不同的MIME類型,但是Internet Explorer當(dāng)前僅僅支持“text/html”。sMineType參數(shù)是可選的。第2個參數(shù)也是一個字符串,它定義了被書寫的新文檔是否要替換當(dāng)前文檔在歷史記錄中的位置。如果想達(dá)到替換目的,就使用字符串“replace”。
“replace”基本上使用于擁有空文檔或者“about:blank”URL的窗口。定義了“replace”后,write()方法就可以在這個窗口中創(chuàng)建HTML內(nèi)容,并且替換當(dāng)前URL在歷史記錄中的位置。如果沒有定義“replace”,建立的HTML就有它自己的歷史位置,用戶可以點擊后退按鈕向前直到空為止。
看看下面的腳本程序段:
var oNewDoc = document.open("text/html", "replace");
var sMarkup = "<HTML><HEAD><TITLE>New Document</TITLE></HEAD>";
sMarkup += "<BODY>Hello, world!<BR><A HREF=´write.html´>Return</A></BODY></HTML>";
oNewDoc.write(sMarkup);
oNewDoc.close();
如你所見,我們在新文檔中包含了一個鏈接,所以你就可以返回這個頁面。如果你點擊了瀏覽器的后退按鈕,瀏覽器就返回到這個頁面之前的頁面。因為我們使用了“replace”參數(shù),新文檔(被書寫的文檔)替換了當(dāng)前文檔在歷史記錄中的位置,所以點擊后退按鈕不會返回到當(dāng)前頁面(包含腳本程序的頁面)。下面的按鈕執(zhí)行同樣的腳本程序,但是沒有“replace”參數(shù),所以,你可以通過點擊瀏覽器的后退按鈕返回到這個頁面。
以下是這個按鈕的源代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
正如你在上面2個例子中看到的,最后一個語句關(guān)閉了輸出流:
oNewDoc.close();
通常,document.close()方法關(guān)閉輸出流,并且強迫發(fā)送的數(shù)據(jù)顯示出去。
在新窗口中書寫內(nèi)容
看看下面的腳本程序:
var win = window.open("", "win", "width=300,height=200"); // a window object
win.document.open("text/html", "replace");
win.document.write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD>
<BODY>Hello, world!</BODY></HTML>");
win.document.close();
第1個語句打開一個新窗口,它使用了一個空文檔參數(shù)(“”),返回值分配給變量win。然后,我們使用新窗口的文檔對象win.document,在其中書寫一些HTML。定義“replace”是非常必要的,因為我們不想讓一個空白頁面在歷史記錄中占有一項。
因為我們處理同樣的document對象,也許也要分配給它另外一個變量:
var win = window.open("", "win", "width=300,height=200"); // a window object
var doc = win.document;
doc.open("text/html", "replace");
doc.write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD><BODY>Hello,
world!</BODY></HTML>");
doc.close();
我們也可以使用with語句:
var win = window.open("", "win", "width=300,height=200"); // a window object
with (win.document) {
open("text/html", "replace");
write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD><BODY>Hello,
world!</BODY></HTML>");
close();
}
相關(guān)文章
Javascript基于對象三大特性(封裝性、繼承性、多態(tài)性)
這篇文章主要介紹了Javascript基于對象三大特性,包括封裝性、繼承性、多態(tài)性,感興趣的小伙伴們可以參考一下2016-01-01ES6 Iterator接口和for...of循環(huán)用法分析
這篇文章主要介紹了ES6 Iterator接口和for...of循環(huán)用法,結(jié)合實例形式分析了Iterator接口和for...of循環(huán)相關(guān)使用技巧,需要的朋友可以參考下2019-07-07IntersectionObserver實現(xiàn)圖片懶加載的示例
下面小編就為大家?guī)硪黄狪ntersectionObserver實現(xiàn)圖片懶加載的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09bootstrap select2插件用ajax來獲取和顯示數(shù)據(jù)的實例
今天小編就為大家分享一篇bootstrap select2插件用ajax來獲取和顯示數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08js禁止Backspace鍵使瀏覽器后退的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨s禁止Backspace鍵使瀏覽器后退的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09解讀TypeScript與JavaScript的區(qū)別
這篇文章主要介紹了TypeScript與JavaScript的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12