js 中的document.open 方法

本文通过JavaScript代码展示了如何使用document.open()方法在浏览器中创建并写入新的HTML文档,包括设置文档类型和继承历史条目的操作。

转载自:  http://blog.163.com/hanyan102600@126/blog/static/438503422008228111841848/


document.open()

定义和用法

open() 方法可打开一个新文档,并擦除当前文档的内容。

语法

document.open(mimetype,replace)
参数描述
mimetype可选。规定正在写的文档的类型。默认值是 "text/html"。
replace可选。当此参数设置后,可引起新文档从父文档继承历史条目。

说明

该方法将擦除当前 HTML 文档的内容,开始一个新的文档,新文档用 write() 方法或 writeln() 方法编写。

提示和注释


注释:属于被覆盖的文档的一部分的脚本或事件句柄不能调用该方法,因为脚本或事件句柄自身也会被覆盖。

实例

<html>
<head>
<script type="text/javascript">
function createNewDoc()
  {
  var newDoc=document.open("text/html","replace");
  var txt="<html><body>Learning about the DOM is FUN!</body></html>";
  newDoc.write(txt);
  newDoc.close();
  }
</script>
</head>
<body>

<input type="button" value="Write to a new document"
οnclick="createNewDoc()">

</body>
</html>

在 JavaScript 中,`window.open()` 是一个用于打开新浏览器窗口或标签页的方法。该方法可以用于导航到指定的 URL,或者创建一个空白窗口供后续操作。 ### 语法: ```javascript window.open(url, target, features, replace) ``` ### 参数说明: 1. **url**(可选):要加载到新窗口中的文档的 URL。如果省略或为空,则打开一个空白页面。 2. **target**(可选):新窗口的名称,可以是以下值之一: - 一个已存在的窗口名称。 - `_blank`:在新窗口中打开(默认)。 - `_self`:在当前窗口中打开。 - `_parent`:在父框架中打开。 - `_top`:在整个窗口中打开。 3. **features**(可选):一个字符串,用于指定新窗口的特性,例如窗口大小、位置、是否显示工具栏等。多个特性之间用逗号分隔。 4. **replace**(可选):布尔值,如果为 `true`,则新加载的页面会替换当前窗口历史记录中的当前条目。 --- ### 示例代码: ```javascript // 打开一个新的空白窗口 const newWindow = window.open('', '_blank', 'width=400,height=300'); // 在新窗口中写入内容 newWindow.document.write('<h1>这是一个新窗口</h1>'); newWindow.document.close(); // 关闭文档流,确保内容显示 ``` ### 解释: - `window.open('', '_blank', 'width=400,height=300')`:创建一个宽度为 400 像素、高度为 300 像素的新窗口。 - `newWindow.document.write()`:向新窗口的文档中写入 HTML 内容。 - `newWindow.document.close()`:调用 `close()` 方法后,浏览器会完成文档的加载,并确保内容正确显示。 --- ### 注意事项: 1. **弹窗拦截**:浏览器可能会拦截 `window.open()`,如果它不是由用户直接操作(如点击事件)触发的。 2. **跨域限制**:如果新窗口加载的 URL 与当前页面不同源,可能会受到同源策略限制,无法访问或操作该窗口的内容。 3. **安全性**:某些浏览器可能限制 `window.open()` 的使用,特别是当用户未与页面进行交互时。 --- ### 示例:打开指定 URL 的新窗口 ```javascript window.open('https://www.example.com', '_blank', 'width=800,height=600'); ``` --- ### 示例:打开一个可控制的窗口 ```javascript const myWindow = window.open('https://www.example.com', 'myWindow', 'width=600,height=400'); // 焦点聚焦到新窗口 myWindow.focus(); // 关闭窗口(通常需要用户交互) setTimeout(() => { myWindow.close(); }, 5000); // 5秒后关闭窗口 ``` --- ### 相关问题: 1. `window.open()` 和 `<a target="_blank">` 的区别是什么? 2. 如何在新窗口中执行 JavaScript 代码? 3. 如何避免浏览器拦截 `window.open()` 弹窗? 4. 如何检测 `window.open()` 是否被浏览器拦截?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值