window.open参数详解
### window.open 参数详解 在JavaScript中,`window.open()` 方法被广泛用于打开新的浏览器窗口或标签页。这对于创建弹出窗口、预览链接等场景非常有用。本文将详细介绍 `window.open()` 的各个参数及其用法。 #### 方法签名 ```javascript window.open(url, target, features); ``` - **url** (必需): 新窗口加载的文档的URL。 - **target** (可选): 规定新窗口的名称或目标框架的名称。 - **features** (可选): 一系列逗号分隔的键值对,用来指定新窗口的属性。 #### 参数详解 1. **url**: 此参数指定了新窗口中显示的网页地址。它可以是绝对路径(例如:`http://example.com`),也可以是相对路径(例如:`page.html`)。如果此参数被省略或者设置为空字符串(`''`),则新窗口将是空白的。 2. **target**: 此参数可以是一个名称,用于标识新窗口或目标框架。如果指定了一个已经存在的窗口名称,则会重用该窗口;如果不存在,则会创建一个新的窗口。此外,还可以使用以下特殊名称: - `_self`: 在同一个窗口中打开 URL(默认行为)。 - `_blank`: 在新窗口中打开 URL。 - `_parent`: 在父窗口中打开 URL。 - `_top`: 在顶层窗口中打开 URL。 3. **features**: 此参数由一系列逗号分隔的键值对组成,每个键值对都定义了新窗口的一个特性。键值对的基本格式为:`key=value`。下面是常见的特性及其可能的值: - **height**: 窗口的高度,单位为像素。例如:`height=600`。 - **width**: 窗口的宽度,单位为像素。例如:`width=800`。 - **top**: 窗口距离屏幕顶部的位置,单位为像素。例如:`top=50`。 - **left**: 窗口距离屏幕左侧的位置,单位为像素。例如:`left=100`。 - **toolbar**: 是否显示工具栏。接受 `yes` 或 `no`。例如:`toolbar=no`。 - **menubar**: 是否显示菜单栏。接受 `yes` 或 `no`。例如:`menubar=no`。 - **scrollbars**: 是否显示滚动条。接受 `yes` 或 `no`。例如:`scrollbars=yes`。 - **status**: 是否显示状态栏。接受 `yes` 或 `no`。例如:`status=no`。 - **resizable**: 是否允许用户调整窗口大小。接受 `yes` 或 `no`。例如:`resizable=no`。 - **location**: 是否显示地址栏。接受 `yes` 或 `no`。例如:`location=no`。 除了上述特性外,还有一些不太常用的特性: - **directories**: 是否显示目录面板。接受 `yes` 或 `no`。 - **alwaysRaised**: 是否始终置顶窗口。接受 `yes` 或 `no`。 - **alwaysLowered**: 是否始终置于底层。接受 `yes` 或 `no`。 - **dependent**: 是否与父窗口关联。接受 `yes` 或 `no`。 #### 示例代码 下面的示例展示了如何使用 `window.open()` 方法打开一个具有特定特性的新窗口: ```javascript window.open('page.html', 'newwindow', 'height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no'); ``` 在这个例子中,`page.html` 是新窗口将加载的页面,`newwindow` 是新窗口的名称,而后面的字符串定义了新窗口的一些特性,比如高度、宽度、位置以及是否显示工具栏等。 #### 注意事项 1. **兼容性**: `window.open()` 方法在大多数现代浏览器中都可用,包括 Chrome、Firefox、Safari 和 Edge 等。 2. **安全性**: 许多浏览器都增加了对弹出窗口的限制,以防止恶意弹出窗口干扰用户的浏览体验。因此,在某些情况下,`window.open()` 可能会被阻止。 3. **用户体验**: 频繁地使用 `window.open()` 打开新窗口可能会给用户带来不便。因此,在设计应用时应该谨慎考虑这一点。 4. **资源消耗**: 每个新打开的窗口都会占用额外的系统资源。因此,在开发时要注意控制新窗口的数量,以避免资源过度消耗。 通过以上介绍,我们可以看到 `window.open()` 方法虽然简单,但在实际应用中却非常强大且灵活。理解并熟练掌握其参数设置,能够帮助开发者更好地控制浏览器窗口的行为,从而提升用户体验。















一、window.open()支持环境:
JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+
二、基本语法:
window.open(pageURL,name,parameters)
其中:
pageURL 为子窗口路径
name 为子窗口句柄
parameters 为窗口参数(各参数用逗号分隔)
三、示例:
<SCRIPT>
<!--
window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
//写成一行
-->
</SCRIPT>
脚本运行后,page.html将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。请对照。
上例中涉及的为常用的几个参数,除此以外还有很多其他参数,请见四。
四、各项参数
其中yes/no也可使用1/0;pixel value为具体的数值,单位象素。
参数 | 取值范围 | 说明
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
directories | yes/no | Nav2和3的目录栏是否可见
height | pixel value | 窗口高度
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
innerHeight | pixel value | 窗口中文档的像素高度
innerWidth | pixel value | 窗口中文档的像素宽度
location | yes/no | 位置栏是否可见
menubar | yes/no | 菜单栏是否可见
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度
resizable | yes/no | 窗口大小是否可调整
screenX | pixel value | 窗口距屏幕左边界的像素长度
screenY | pixel value | 窗口距屏幕上边界的像素长度
scrollbars | yes/no | 窗口是否可有滚动栏
titlebar | yes/no | 窗口题目栏是否可见
toolbar | yes/no | 窗口工具栏是否可见
Width | pixel value | 窗口的像素宽度
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上
=====================================================
【1、最基本的弹出窗口代码】
其实代码非常简单:<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html')
-->
</SCRIPT>
因为着是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE="javascript">标签和</script>之间。<!-- 和 -->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
Window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
剩余7页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网站项目管理规范手册.doc
- 模式识别及其在图像处理中的应用.doc
- 项目管理—如何搞好竣工结算.doc
- 人口健康信息化实践与总体规划培训课件.pptx
- 主机网络存储维保服务技术方案.docx
- XMSinaSwift-Swift资源
- 综合布线系统设计模板样本.doc
- 乐购网络商业街创业计划书.docx
- 广告创意与表现课程基于网络考核方案.doc
- HP虚拟化计算技术解决方案.doc
- 网络建设项目解决方案.doc
- 微软招聘过程与经验(1).ppt
- 嵌入式课程设计学生信息管理系统.doc
- 网络信息辨真伪活动方案.doc
- 【推荐】郭秀花--医学大数据分析策略与数据挖掘.ppt
- 毕业设计装卸料小车多方式运行的PLC控制系统设计.doc


