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

所属分类: 网络编程 / JavaScript 阅读数: 878
收藏 0 赞 0 分享
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”参数,所以,你可以通过点击浏览器的后退按钮返回到这个页面。 
  以下是这个按钮的源代码: 

[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(); 
  }
更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多