有没有办法检测当前用户代理是否支持使用本机javascript弹出窗口?
例如在WEB中,window.open将打开一个弹出窗口,父母将知道弹出窗口何时关闭。
但是在Iphone或Ipad中,它会在新选项卡中打开弹出窗口,父母将失去上下文。所以当新标签关闭时,父母不能听这个事件。
目前正在使用一种解决方法,是通过手动检查每个设备是否支持弹出窗口然后在我的javascript中检查用户代理是否包含在我手动检查的列表中。但我在想是否有更聪明的方法来实现这一点。
感谢。
答案 0 :(得分:1)
你可以尝试这个脚本:
<Script>
var windowName = 'userConsole';
var popUp = window.open('/popup-page.php', windowName, 'width=1000, height=700, left=24, top=24, scrollbars, resizable');
if (popUp == null || typeof(popUp)=='undefined') {
alert('Please disable your pop-up blocker and click the "Open" link again.');
}
else {
popUp.focus();// this will open popup if the browser allow it.you can do your implementation on popup support here
}
</script>
主要来源:here
答案 1 :(得分:0)
你到底想要完成什么?您是否尝试检测当前窗口是否为弹出窗口?如果是这样,BornToCode在this thread中的回复可能就是您的答案。他建议测试是否定义了window.opener
:
if ( window.opener !== 'undefined' )