window.open,打开窗口与打开新标签页,刷新父窗口数据

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) })

猜你喜欢

转载自blog.csdn.net/ringlot/article/details/120220971
今日推荐