私のブラウザFF/Chrome / IE / Safariポップアップブロッカーが許可/有効になっているかどうかをPHPで確認する方法はありますか?
3 に答える
あなたはそのようなことを試すことができます:
<script language="javascript">
var myWindow;
myWindow= window.open(...);
if (myWindow.closed) {
//pop up disabled
}
</script>
しかし、それはPHPではありません^^
ポップアップ ブロッカーはクライアント上でのみ検出できますが、おそらく次のようなことができます。
テスト ポップアップを起動し、すぐに JavaScript で閉じます。プロセス中に、ポップアップが成功したかブロックされたかを検出します。
それが完了したら、AJAX リクエストをサーバーに送信し、ポップアップ ブロッカーによってブロックされたかどうかをセッション変数に保存します。
ただし、統計目的でデータを収集している場合を除き、クライアントにアクティブなポップアップ ブロッカーがあるかどうかをサーバー側のコードが知る必要がある理由がよくわかりません。
PHP はサーバー側の言語であるため、PHP のみを使用することは不可能であると確信しています。他の回答が言ったようにして、このタスクに Javascript を使用します (おそらく AJAX?)。
PHP はブラウザーについて「少し」知っているかもしれませんが、要求ヘッダーにあるものは何でも知っています。これには、ユーザーが使用しているブラウザーを正確に示すユーザー エージェントヘッダーが含まれており、情報を表示する戦略はユーザー エージェントに依存する可能性があります (モバイル ブラウザーからブラウジングするときにモバイル バージョンを表示するために Web ページが行うこととほとんど同じです)。 )。