JavaScript窗口功能指南之在窗口中書寫內容

JavaScript窗口功能指南之在窗口中書寫內容
(作者:聽風編譯 2001年01月19日 11:35)

  window.open()方法打開一個新窗口,document.open()方法打開一個新文檔,在其中可以使用write()或者writeln()方法書寫內容,它的語法是:

  oNewDoc = document.open(sMimeType[, sReplace]);

  sMineType是一個字符串,它定義了MIME類型。Navigator支持幾種不同的MIME類型,但是Internet Explorer當前僅僅支持“text/html”。sMineType參數是可選的。第2個參數也是一個字符串,它定義了被書寫的新文檔是否要替換當前文檔在歷史記錄中的位置。如果想達到替換目的,就使用字符串“replace”。

  “replace”基本上使用於擁有空文檔或者“about:blank”URL的窗口。定義了“replace”後,write()方法就可以在這個窗口中創建HTML內容,並且替換當前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”參數,新文檔(被書寫的文檔)替換了當前文檔在歷史記錄中的位置,所以點擊後退按鈕不會返回到當前頁面(包含腳本程序的頁面)。下面的按鈕執行同樣的腳本程序,但是沒有“replace”參數,所以,你可以通過點擊瀏覽器的後退按鈕返回到這個頁面。

  以下是這個按鈕的源代碼:

  <script language=JavaScript>

  <!--

  function writeDocBack() {

   var oNewDoc = document.open("text/html");

   var sMarkup = "<HTML><HEAD><TITLE>New Document</TITLE></HEAD>";

   sMarkup += "<BODY>Hello, world!</BODY></HTML>";

   oNewDoc.write(sMarkup);

   oNewDoc.close();

  }

  // -->

  </script>

  <form><input onClick=writeDocBack() type=button value="Write Document" name="button2"></form>

  正如你在上面2個例子中看到的,最後一個語句關閉了輸出流:

  oNewDoc.close();

  通常,document.close()方法關閉輸出流,並且強迫發送的數據顯示出去。

在新窗口中書寫內容
  看看下面的腳本程序:

  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個語句打開一個新窗口,它使用了一個空文檔參數(“”),返回值分配給變量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();

  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章