Php 浏览器弹出窗口阻止程序已关闭/打开

Php 浏览器弹出窗口阻止程序已关闭/打开,php,browser,Php,Browser,我可以通过什么方式在PHP中检查我的浏览器FF/Chrome/IE/Safari弹出窗口阻止程序是否允许/启用?您可以尝试类似的方法: <script language="javascript"> var myWindow; myWindow= window.open(...); if (myWindow.closed) { //pop up disabled } </script> var-myWindow; myWindow=window.open(

我可以通过什么方式在PHP中检查我的浏览器FF/Chrome/IE/Safari弹出窗口阻止程序是否允许/启用?

您可以尝试类似的方法:

<script language="javascript">

var myWindow;

myWindow= window.open(...);
if (myWindow.closed) {
    //pop up disabled
}

</script>

var-myWindow;
myWindow=window.open(…);
如果(myWindow.closed){
//禁用弹出窗口
}

但它不是在PHP中^ ^

您可以尝试类似的方法:

<script language="javascript">

var myWindow;

myWindow= window.open(...);
if (myWindow.closed) {
    //pop up disabled
}

</script>

var-myWindow;
myWindow=window.open(…);
如果(myWindow.closed){
//禁用弹出窗口
}

但是它不在PHP中^ ^

弹出窗口拦截器只能在客户端上检测到,但是您可以这样做:

  • 启动一个测试弹出窗口并立即用javascript关闭它。在此过程中,检测弹出窗口是否成功或被阻止

  • 完成后,向服务器发出AJAX请求,并在会话变量中保存是否被弹出窗口阻止程序阻止


但是,我不明白为什么服务器端代码需要知道客户端是否有活动的弹出窗口阻止程序,除非您是为了统计目的而收集数据。

弹出窗口阻止程序只能在客户端上检测到,但是您可以这样做:

  • 启动一个测试弹出窗口并立即用javascript关闭它。在此过程中,检测弹出窗口是否成功或被阻止

  • 完成后,向服务器发出AJAX请求,并在会话变量中保存是否被弹出窗口阻止程序阻止


但是,我不明白为什么服务器端代码需要知道客户端是否有一个活动的弹出窗口阻止程序,除非您是为了统计目的而收集数据。

因为PHP是一种服务器端语言,我敢肯定,仅使用PHP是不可能的。按照其他答案所说的做,并使用Javascript完成此任务(可能是AJAX?)


PHP可能对浏览器“有点了解”,但只知道请求头上的内容。这包括用户代理标题,它准确地告诉您用户使用的浏览器,并且您显示信息的策略可能取决于用户代理(这与从移动浏览器浏览时网页显示移动版本的功能差不多).

因为PHP是一种服务器端语言,我敢肯定,仅使用PHP是不可能的。按照其他答案所说的做,并使用Javascript完成此任务(可能是AJAX?)


PHP可能对浏览器“有点了解”,但只知道请求头上的内容。这包括用户代理标题,它可以准确地告诉您用户使用的浏览器,并且您显示信息的策略可以依赖于用户代理(这与从移动浏览器浏览时网页显示移动版本的功能差不多)。

我想没有办法。你可以试试这样的javascript,你说的“允许”是什么意思?你有一个PHP文件,你用一个带有弹出窗口拦截器的浏览器来调用它,对吗?那么,谁来决定什么时候允许某些事情发生,基于什么理由?你需要先告诉我们,也许在我们能告诉你之前。或者我只是不明白你的问题,请澄清。@BasicBridge:是的,最好的选择!请记住:PHP是服务器端的,这意味着PHP对浏览器一窍不通。JavaScript应该是您的frindAs,因为对@donald123的响应,PHP可能对浏览器“有一点”了解,但只是请求头上的内容。这包括用户代理标题,它可以准确地告诉您用户使用的浏览器,您显示信息的策略可以依赖于用户代理(这与从移动浏览器浏览时网页显示移动版本的功能差不多)。我认为没有办法。你可以试试这样的javascript,你说的“允许”是什么意思?你有一个PHP文件,你用一个带有弹出窗口拦截器的浏览器来调用它,对吗?那么,谁来决定什么时候允许某些事情发生,基于什么理由?你需要先告诉我们,也许在我们能告诉你之前。或者我只是不明白你的问题,请澄清。@BasicBridge:是的,最好的选择!请记住:PHP是服务器端的,这意味着PHP对浏览器一窍不通。JavaScript应该是您的frindAs,因为对@donald123的响应,PHP可能对浏览器“有一点”了解,但只是请求头上的内容。这包括用户代理标题,它确切地告诉您用户使用的是哪个浏览器,并且您显示信息的策略可能取决于用户代理(这与从移动浏览器浏览时网页显示移动版本的功能相当)。