window.open(url)在新选项卡打开url
如果提供了窗口大小,那么浏览器将打开一个弹窗
window.open('https://javascript.info/')
如果弹窗是在用户触发的事件处理程序(如 onclick)之外调用的,大多数浏览器都会阻止此类弹窗。
用setTimout浏览器不会阻止
setTimeout(() => window.open('http://google.com'), 1000);
打开一个弹窗的语法是 window.open(url, name, params):
- url: 要在新窗口中加载的 URL
- name: 新窗口的名称
- params新窗口的配置字符串。它包括设置,用逗号分隔。参数之间不能有空格
- 位置:
left/top(数字)—— 屏幕上窗口的左上角的坐标。这有一个限制:不能将新窗口置于屏幕外(offscreen)。width/height(数字)—— 新窗口的宽度和高度。宽度/高度的最小值是有限制的,因此不可能创建一个不可见的窗口。
- 窗口功能:
menubar(yes/no)—— 显示或隐藏新窗口的浏览器菜单。toolbar(yes/no)—— 显示或隐藏新窗口的浏览器导航栏(后退,前进,重新加载等)。location(yes/no)—— 显示或隐藏新窗口的 URL 字段。Firefox 和 IE 浏览器不允许默认隐藏它。status(yes/no)—— 显示或隐藏状态栏。同样,大多数浏览器都强制显示它。resizable(yes/no)—— 允许禁用新窗口大小调整。不建议使用。scrollbars(yes/no)—— 允许禁用新窗口的滚动条。不建议使用。``javascript let params =scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=0,height=0,left=-1000,top=-1000`;
- 位置:
open(‘/‘, ‘test’, params);
`open` 调用会返回对新窗口的引用```javascriptlet newWin = window.open("about:blank", "hello", "width=200,height=200");newWin.document.write("Hello, world!");
弹窗可以使用 window.opener 属性访问 opener 窗口
let newWin = window.open("about:blank", "hello", "width=200,height=200");newWin.document.write("<script>window.opener.document.body.innerHTML = 'Test'<\/script>");
关闭一个窗口:win.close()。
检查一个窗口是否被关闭:win.closed。
let newWindow = open('/', 'example', 'width=300,height=300');newWindow.onload = function() {newWindow.close();alert(newWindow.closed); // true};
