1

ユーザーが JavaScript を有効にしているかどうかを確認したいのですが、HTML で no script タグを使用したくありません。ユーザーに JavaScript と no script タグの両方の余分なスクリプトをダウンロードさせたくないからです。

誰でもアイデアを得ましたか?

よろしくお願いします、ディン・ブラチャ

4

3 に答える 3

1

残念ながら、これはあなたができることではありません。PHPコードは通常、ブラウザがコードをレンダリングする前に完全に実行されます。

ブラウザでのJavascriptの無効化は、最初のヘッダーリクエストでPHPに報告されません。最も近い方法は、Javascriptを使用してPHPへのAJAX呼び出しを行い、Javascriptの存在を検出することです。コールバックが失敗した場合は、無効になっていると見なすことができます。

同様の質問:phpはjavascriptがオンになっているかどうかを検出できますか?

于 2013-02-05T16:57:39.753 に答える
1

AJAX を使用して、JS アクティベーションのフラグとして使用される Cookie を設定できる php ページをリクエストできます。js スクリプトでは、Cookie が設定されているかどうかを確認できます。これは、ユーザーが JS を有効にしていることを意味します。

于 2013-02-05T16:57:20.150 に答える
0
test.php

<script>
//// query string
if(/[?&]js=1/g.test(window.location.href) == false)
    window.location.href += (window.location.href.indexOf("?") == -1 ? "?" : "&") + "js=1";
//// OR session cookie
if(document.cookie.search(/(^|;)js=1/) == -1) {
     document.cookie = "js=1; path=/";
     document.location.reload();
}
</script>

<?php
$_GET["js"];
////
$_COOKIE["js"];
?>

これを行う方法はたくさんあります。JavaScriptを使用してクライアント側でCookieを設定してからページをリロードするか、上記を実行してURLにクエリ文字列を追加します。PHPは、Cookieまたはクエリ文字列をチェックし、このユーザーがJSを有効にしていることを示すセッション変数を設定できます。

于 2013-02-05T16:59:14.977 に答える