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

Javascript
颜色变换 像字符逐字输入的欢迎词
CSS 伪类实现的鼠标滑动图片链接
百度用到的Js日历 大家可以看看
CSS 渐变背景的6个演示代码
Jquery 弹出层插件实现代码
Javascript 模式实例 观察者模式
[原创]javascript 指定区域内图片等比例缩放实现代码 脚本之家整合版
javascript window对象属性整理
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
用JavaScript实现 铁甲无敌奖门人 “开口中”猜数游戏
理解 JavaScript 预解析
理解JavaScript变量作用域更轻松
JavaScript的变量作用域深入理解
javascript写的一个链表实现代码
Js 打字效果 逐一出现的文字
javascript 走马灯效果的链接提示
CSS 动态链接提示
JavaScript 事件的一些重要说明
JavaScript 三种不同位置代码的写法

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


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

  }