Javascript 检测浏览器是否阻止弹出窗口

Javascript 检测浏览器是否阻止弹出窗口,javascript,jquery,Javascript,Jquery,在Jquery/Javascript中,有没有一种方法可以检测浏览器(在我的例子中是chrome)在加载web时是否阻止弹出窗口? 如果这是不可能的,那么我的window.open命令前的警报也会令人满意 我知道以前有人问过这个问题,但这些问题已经过时了,我找不到解决办法 谢谢。您可以尝试打开一个不可见的弹出窗口,如果打开,它会将php会话变量更新为“true”,如果未打开,则将其保留为“false”,例如: 一旦用户打开站点:session_start()并将会话变量“$\u session[

在Jquery/Javascript中,有没有一种方法可以检测浏览器(在我的例子中是chrome)在加载web时是否阻止弹出窗口? 如果这是不可能的,那么我的window.open命令前的警报也会令人满意

我知道以前有人问过这个问题,但这些问题已经过时了,我找不到解决办法


谢谢。

您可以尝试打开一个不可见的弹出窗口,如果打开,它会将php会话变量更新为“true”,如果未打开,则将其保留为“false”,例如:

一旦用户打开站点:session_start()并将会话变量“$\u session[“popupEnabled”]”设置为FALSE。将站点发送到用户浏览器后,执行一个JS脚本,将AJAX请求加载到另一个PHP脚本,只需两行代码:session_start();并将“$\u会话[“popupEnabled”]”设置为TRUE

现在,您可以检查系统范围:

If($_SESSION["popupEnabled"] == FALSE)   
{
 echo 'popups NOT allowed';
}
else
{
 echo 'popups allowed';
}

可以安全地假设,除了交互式事件处理程序之外,现代浏览器在任何情况下都不允许调用
window.open()
w=window.open(…);如果(w==null){alert('open failed');}
看不到他在使用phpca的任何地方,那么可以完全使用js ajax请求,只有ajax请求的文件必须包含使用此解决方案的php。我不使用php,但我可以使用您的建议。只有一个问题,我如何用窗口打开一个不可见的页面。打开?将其大小调整为1x,并在加载文档后直接关闭。在某些情况下,你会看到一些东西,但大部分是看不见的