检测用户代理是否支持弹出窗口
detect if the useragent supports popup
有没有办法检测当前用户代理是否支持使用本机javascript弹出
?例如,在WEB中,window.open将打开一个弹出窗口,父将知道弹出窗口何时关闭。
但是,例如在Iphone或Ipad中,它会在新选项卡中打开弹出窗口,并且父母将丢失上下文。 因此,当新选项卡关闭时,父项无法侦听事件。
目前我正在使用一种解决方法,即手动检查每个设备是否支持弹出窗口,然后在我的 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>
主要来源:这里
你到底想完成什么?您是否正在尝试检测当前窗口是否为弹出窗口?如果是这样,BornToCode在这个线程中的响应可能是你的答案。他建议测试是否定义了window.opener
:
if ( window.opener !== 'undefined' )
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Microsoft 边缘窗口.open() 不支持第二个弹出窗口的宽度高度
- 检测用户代理是否支持弹出窗口
- 在窗口中使用“事件处理程序”是否是确定窗口是否支持给定事件处理程序的安全方法
- 是否有支持在同一浏览器窗口中使用多个版本的公共库的 javascript 加载器
- JavaFX Webview的解决方案不支持窗口.FileReader javascript
- 是否有一个开源的javascript日历,支持内置的事件详细信息弹出窗口
- 如何逃脱';';和& # 39;()& # 39;在javascript数组下,它支持窗口和linux
- 是否有浏览器不支持向窗口写入?
- 是否已经有现成的代码支持Dojo AMD, NodeJS需求和浏览器窗口.用于Javascript微库
- ie9跨域窗口.不支持这样的接口
- 访问多进程Firefox中不支持的内容窗口
- 检测浏览器对窗口间通信的支持