window.open(url, [name], [configuration])
url, 为要新打开页面的url
name,为新打开窗口的名字,可以通过此名字获取该窗口对象
configuration,为新打开窗口的一些配置项,比如是否有菜单栏、滚动条、长高等等信息
1、name 为打开窗口的名字,可以自定义,如果name名称相同,多次打开只会打开一个窗口;
也可以为以下值,若为以下值就是打开多个窗口不管页面是否相同
name | 描述 |
_blank | 默认的,在新窗口打开链接的url |
_self | 在当前窗口打开链接url |
_parent | 在父窗口打开链接url |
_top | 在顶级窗口打开url |
framename | 在指定的框架中打开链接url |
2、window.open(url, name) 一般浏览器是打开一个新标签页,如果要打开一个新的窗口,需要加上conifguration 参数,例如:
window.open('https://www.baidu.com/', item.className, 'width=800,height=600,top=100,left=200,toolbar=yes,scrollbars=yes')
参数 | 值 | 说明 |
top | number | 窗口顶部距离屏幕顶部的像数 |
left | number | 窗口左部距离屏幕左部的像数 |
width | number | 窗口的宽度 |
height | number | 窗口的高度 |
menubar | yes/no | 窗口有没有菜单 |
toolbar | yes/no | 窗口有没有工具条 |
scrollbars | yes/no | 窗口有没有滚动条 |
status | yes/no | 窗口有没有状态栏 |
3、场景:在a页面打开一个新窗口b,新窗口提交数据后关闭该窗口,同时a页面的列表数据需要刷新,这个时候可以用window.opener.location.reload() 方法可以执行对创建的主窗口的操作。
4、相应的还有,window.parent 更多的window方法查阅Window 对象 | 菜鸟教程
5、postmessage 方法,用localstorge存储数据然后用window.addEventListener("storage", function (e) { console.log(e) console.log(e.newValue) })