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

來源:互聯網
上載者:User

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”參數,所以,你可以通過點擊瀏覽器的後退按鈕返回到這個頁面。
  以下是這個按鈕的原始碼: <br />  <br />  <br /><p>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

  正如你在上面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();
  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.