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

Javascript
JS 参数传递的实际应用代码分析
prototype与jquery下Ajax实现的差别
用JS写的简单的计算器实现代码
javascript 数组操作实用技巧
JavaScript 中级笔记 第二章
JavaScript 中级笔记 第三章
JavaScript 中级笔记 第四章 闭包
JavaScript 中级笔记 第五章 面向对象的基础
Mootools 1.2教程 函数
Mootools 1.2教程 事件处理
通过Mootools 1.2来操纵HTML DOM元素
Mootools 1.2教程 设置和获取样式表属性
Mootools 1.2教程 输入过滤第一部分(数字)
Mootools 1.2教程 输入过滤第二部分(字符串)
Mootools 1.2教程 Fx.Tween的使用
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
MooTools 1.2中的Drag.Move来实现拖放
Mootools 1.2教程 正则表达式
Mootools 1.2教程 定时器和哈希简介
Mootools 1.2教程 滚动条(Slider)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 206 ::
收藏到网摘: 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();

  }