如何识别打开的窗口是弹出窗口还是选项卡
How do identify whether the window opened is a pop up or a tab?
我遇到了一个问题。我可以用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错误:';window.toolbar.visible';为空或不是对象
如果指定宽度和高度,则意味着还必须指定name
参数。这可以与使用a
标签中的target
的方式相同,默认为_blank
。
如果你没有指定宽度和高度,我假设你也没有指定name
,因此它是用name=_blank
打开的,这意味着一个新的选项卡
如果指定宽度和高度,是否设置自定义name
?这样做会产生一个子窗口。如果你指定了一个名称,或者空字符串作为名称,我建议你尝试name:_blank
,如果你想让它成为一个新的选项卡
如果窗口是用名称打开的,则始终可以从子窗口中选择window.parent
。如果你用_blank
打开,我不确定你是否能得到window.parent
w3schools窗口打开
我不太确定你的问题是什么意思,但据我所知,你可能想使用HTML目标属性:
_blank Opens the linked document in a new window or tab
_self Opens the linked document in the same frame as it was clicked (this is default)
_parent Opens the linked document in the parent frame
_top Opens the linked document in the full body of the window
framename在命名框架中打开链接文档
来源:http://www.w3schools.com/tags/att_a_target.asp
您可以使用onblur通过检查焦点是否错过来检测
<html>
<head>
<script>
function newTab() {
document.getElementById("demo").innerHTML = "New tab opened!<br><br>refesh this page to recheck ";
}
window.onblur = newTab;
</script>
</head>
<body>
<div id="demo">
Open a new tab and then check this page
</div>
</body>
</html>
- 激活镀铬窗口选项卡
- 检测内容'It’’’’我在窗口选项卡上
- 如何通过单击Highchart图中的列/栏打开新窗口/选项卡
- Javascript表单提交打开新窗口选项卡,然后重定向父页面
- 来自 HREF 的新窗口/选项卡
- 检查锚点打开的窗口/选项卡是否已关闭
- 离开窗口选项卡时堆叠(重叠)的图像
- 如何从JavaScript弹出窗口打开父窗口选项卡
- 将表单提交到新窗口/选项卡
- 如何在新窗口/选项卡中打开文本和 xml 文件
- 检测链接是在新窗口/选项卡还是当前窗口中打开
- 在c中按下一个按钮,打开两个新的窗口/选项卡(不同的外部站点)
- 新窗口/选项卡中的JavaScript确认对话框
- 如何在浏览器窗口/选项卡关闭时删除本地存储项目
- 如何打开新窗口/选项卡,但专注于打开窗口
- 打开一个新窗口/选项卡
- Chrome窗口不会从无限滚动加载内容,除非窗口(选项卡)处于焦点位置
- JQuery发送带有Headers的Ajax GET,并在新窗口/选项卡中打开
- 如何防止firefox内部的javascript关闭窗口/选项卡
- 关闭窗口/选项卡时的Websocket-Chrome