当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript窗口功能指南之在窗口中书写内容

Javascript
清华大学出版的事半功倍系列 javascript全部源代码
一个不错的渐隐文字效果
JavaScript多线程的实现方法
广告代码静态化js通用函数
“增强js程序代码的健壮性”之我见大量示例代码
国外JavaScript经典封装集合整理
Highslide JS
一个漂亮的下拉列表,去掉了灰色倒三角按钮
Add a Picture to a Microsoft Word Document
Javascript注入技巧
用JS实现HTML标签替换效果
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
模拟弹出菜单的代码
收藏Javascript中常用的55个经典技巧
Track Image Loading效果代码分析
js小技巧--自动隐藏红叉叉
JavaScript延时效果比较不错的
非常酷的js图形渐隐导航菜单栏
科讯商业版中用到的ajax空间与分页函数
js实现的修改div里img标签的src属性

Javascript 中的 JavaScript窗口功能指南之在窗口中书写内容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 199 ::
收藏到网摘: n/a

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();

  }