javascript - 检测useragent是否支持弹出窗口

标签 javascript popup

有没有办法检测当前用户代理是否支持使用原生 JavaScript 弹出窗口?

例如在WEB中,window.open将打开一个弹出窗口,父级将知道弹出窗口何时关闭。

但是,例如在 Iphone 或 Ipad 中,它会在新选项卡中打开弹出窗口,并且 parent 将丢失上下文。因此,当新选项卡关闭时,父级无法监听该事件。

目前正在使用一种解决方法,即手动检查每个设备是否支持弹出窗口,然后在我的 javascript 中检查用户代理是否包含在我手动检查的列表中。但我在想是否有更智能的方法来实现这一点。

谢谢。

最佳答案

你可以尝试这个脚本:

<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

关于javascript - 检测useragent是否支持弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507918/

相关文章:

javascript - 带有对话泡泡的聊天窗口 - html

javascript - 传单折线箭头

javascript - 如何在 javascript 中显示全屏弹出窗口?

javascript - 绝对 div 内的输入没有响应

javascript - 如何将新组件(按钮)添加到 video.js?

javascript - 传递提示框的输入值

javascript - 尝试从新页面聚焦已打开的弹出窗口

javascript - 仅在弹出窗口启动后打印 Javascript

javascript - 这个 JQuery Popup 错误是如何修复的?

javascript - e.root 在 all.js 中未定义