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

时间:2021-05-26

window.open()方法打开一个新窗口,document.open()方法打开一个新文档,在其中可以使用write()或者writeln()方法书写内容,它的语法是:
  oNewDoc=document.open(sMimeType[,sReplace]);
  sMineType是一个字符串,它定义了MIME类型。Navigator支持几种不同的MIME类型,但是InternetExplorer当前仅仅支持“text/html”。sMineType参数是可选的。第2个参数也是一个字符串,它定义了被书写的新文档是否要替换当前文档在历史记录中的位置。如果想达到替换目的,就使用字符串“replace”。
  “replace”基本上使用于拥有空文档或者“about:blank”URL的窗口。定义了“replace”后,write()方法就可以在这个窗口中创建HTML内容,并且替换当前URL在历史记录中的位置。如果没有定义“replace”,建立的HTML就有它自己的历史位置,用户可以点击后退按钮向前直到空为止。
  看看下面的脚本程序段:
  varoNewDoc=document.open("text/html","replace");
  varsMarkup="<HTML><HEAD><TITLE>NewDocument</TITLE></HEAD>";
  sMarkup+="<BODY>Hello,world!<BR><AHREF=´write.html´>Return</A></BODY></HTML>";
  oNewDoc.write(sMarkup);
  oNewDoc.close();
  如你所见,我们在新文档中包含了一个链接,所以你就可以返回这个页面。如果你点击了浏览器的后退按钮,浏览器就返回到这个页面之前的页面。因为我们使用了“replace”参数,新文档(被书写的文档)替换了当前文档在历史记录中的位置,所以点击后退按钮不会返回到当前页面(包含脚本程序的页面)。下面的按钮执行同样的脚本程序,但是没有“replace”参数,所以,你可以通过点击浏览器的后退按钮返回到这个页面。
  以下是这个按钮的源代码:
     

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
  正如你在上面2个例子中看到的,最后一个语句关闭了输出流:
  oNewDoc.close();
  通常,document.close()方法关闭输出流,并且强迫发送的数据显示出去。
在新窗口中书写内容
  看看下面的脚本程序:
  varwin=window.open("","win","width=300,height=200");//awindowobject
  win.document.open("text/html","replace");
  win.document.write("<HTML><HEAD><TITLE>NewDocument</TITLE></HEAD>
  <BODY>Hello,world!</BODY></HTML>");
  win.document.close();
  第1个语句打开一个新窗口,它使用了一个空文档参数(“”),返回值分配给变量win。然后,我们使用新窗口的文档对象win.document,在其中书写一些HTML。定义“replace”是非常必要的,因为我们不想让一个空白页面在历史记录中占有一项。
  因为我们处理同样的document对象,也许也要分配给它另外一个变量:
  varwin=window.open("","win","width=300,height=200");//awindowobject
  vardoc=win.document;
  doc.open("text/html","replace");
  doc.write("<HTML><HEAD><TITLE>NewDocument</TITLE></HEAD><BODY>Hello,
  world!</BODY></HTML>");
  doc.close();
  我们也可以使用with语句:
  varwin=window.open("","win","width=300,height=200");//awindowobject
  with(win.document){
  open("text/html","replace");
  write("<HTML><HEAD><TITLE>NewDocument</TITLE></HEAD><BODY>Hello,
    world!</BODY></HTML>");
  close();
  }

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章