本文详细解析 JavaScript 中 window.open 方法的四个核心参数,重点说明 replace 参数对浏览历史的影响。特别指出在 IE9 环境下,window.open 的 name 参数若包含连字符会导致脚本错误,其他主流浏览器测试正常。
IE9 环境下的 name 参数限制
在 IE9 浏览器中调用 window.open 方法时,需特别注意 name 参数的取值规范。若该参数值中包含连字符("-"),将触发脚本错误;经测试,IE9 及更高版本均存在此限制,其他浏览器则无此问题。
window.open 基本语法与参数
window.open 方法的标准语法结构为 window.open(URL, name, specs, replace),用于打开新窗口或标签页。
详细参数说明
| 参数 |
说明 |
| URL |
可选。打开指定的页面的URL。如果没有指定URL,打开与新的空白窗口 |
| name |
可选。指定target属性或窗口的名称。支持以下值:
- _blank - URL加载到一个新的窗口。这是默认
- _parent - URL加载到父框架
- _self - URL替换当前页面
- _top - URL替换任何可加载的框架集
- name - 窗口名称
|
| specs |
可选。一个逗号分隔的项目列表。支持以下值:
| channelmode=yes|no|1|0 |
是否要在影院模式显示 window。默认是没有的。仅限IE浏览器 |
| directories=yes|no|1|0 |
是否添加目录按钮。默认是肯定的。仅限IE浏览器 |
| fullscreen=yes|no|1|0 |
浏览器是否显示全屏模式。默认是没有的。在全屏模式下的 window,还必须在影院模式。仅限IE浏览器 |
| height=pixels |
窗口的高度。最小.值为100 |
| left=pixels |
该窗口的左侧位置 |
| location=yes|no|1|0 |
是否显示地址字段.默认值是yes |
| menubar=yes|no|1|0 |
是否显示菜单栏.默认值是yes |
| resizable=yes|no|1|0 |
是否可调整窗口大小.默认值是yes |
| scrollbars=yes|no|1|0 |
是否显示滚动条.默认值是yes |
| status=yes|no|1|0 |
是否要添加一个状态栏.默认值是yes |
| titlebar=yes|no|1|0 |
是否显示标题栏.被忽略,除非调用HTML应用程序或一个值得信赖的对话框.默认值是yes |
| toolbar=yes|no|1|0 |
是否显示浏览器工具栏.默认值是yes |
| top=pixels |
窗口顶部的位置.仅限IE浏览器 |
| width=pixels |
窗口的宽度.最小.值为100 |
|
| replace |
可选参数。用于指定加载到窗口的 URL 是替换当前浏览历史条目,还是在历史中创建新条目。该参数支持以下布尔值:
- 当 replace 参数设为 true 时,新加载的 URL 将替换浏览历史记录中的当前条目,不会新增历史记录。
- 当 replace 参数设为 false 时(默认行为),新加载的 URL 会在浏览历史中创建一个全新的条目。
|
总结
以上即为关于 JavaScript 中 window.open 方法参数及其注意事项的完整说明,供开发者参考使用。