gpt4 book ai didi

javascript - 如何识别打开的窗口是弹出窗口还是标签页?

转载 作者:搜寻专家 更新时间:2023-10-31 08:19:57 24 4
gpt4 key购买 nike

我一直面临一个问题。我可以使用 window.open 方法打开一个窗口。如果我指定窗口的高度和宽度,它将作为弹出窗口打开。如果没有给出高度或参数宽度,然后在新标签页中打开。

是否有任何属性可以让我确定打开的窗口是弹出窗口还是新标签页?

谢谢马尔科姆·艾克斯

最佳答案

编辑:我一直在深入研究这个问题。

这些窗口似乎没有不同的“类型”,只是不同的选项。我发现检查它是选项卡还是窗口的一种方法是检查 window.menubar.visible。对于选项卡,它是一个完整的正常窗口,它是 true,对于弹出菜单是隐藏的,因此是 false。这同样适用于 window.toolbar.visible

至少适用于 FF 和 Chrome。不幸的是不在 IE 中。 (在IE8下测试,我安装的是这个版本。当然是为了测试..)

例子:

if(window.menubar.visible) {
//Tab
} else {
//"Child" Window
}

找到这个线程:Internet Explorer 8 JS Error: 'window.toolbar.visible' is null or not an object


如果指定宽度和高度,则意味着您还必须指定name 参数。这可以像 a 标签中的 target 一样使用,默认为 _blank

如果您没有指定宽度和高度,我假设您也没有指定 name,因此它以 name=_blank 打开,这意味着一个新的 Tab。

如果指定宽度和高度,是否设置了自定义名称?这样做会产生一个子窗口。如果你指定一个名字,或者空字符串作为名字,我建议你尝试 name:_blank 如果你想让它成为一个新的标签。

如果窗口是用名称打开的,您始终可以从子窗口中获取 window.parent。如果您使用 _blank 打开,我不确定您是否可以获得 window.parent

w3schools Window Open

关于javascript - 如何识别打开的窗口是弹出窗口还是标签页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com