0

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

4

3 回答 3

1

你可以尝试这样的事情:

<script language="javascript">

var myWindow;

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

</script>

但它不在 PHP 中 ^^

于 2012-07-06T07:54:17.813 回答
1

弹出窗口阻止程序只能在客户端上检测到,但是也许您可以执行以下操作:

  • 触发测试弹出窗口并立即使用 javascript 将其关闭。在此过程中检测弹出窗口是成功还是被阻止。

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

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

于 2012-07-06T07:55:41.570 回答
1

因为 PHP 是一种服务器端语言,所以我很肯定仅使用 PHP 是不可能的。像其他答案所说的那样做,并使用 Javascript 来完成这项任务(也许是 AJAX?)。

PHP 可能对浏览器“了解一点”,但只知道请求标头上的内容。这包括用户代理标头,它可以准确地告诉您用户正在使用哪个浏览器,并且您显示信息的策略可能取决于用户代理(从移动浏览器浏览时网页显示移动版本几乎是做什么的) ) .

于 2012-07-06T07:56:43.050 回答