5

重複の可能性:
JavaScriptが無効になっているかどうかを検出する方法は?

私のphpアプリケーションでは、ブラウザでjavascriptがオンになっているかどうかを確認する必要があります。私はこれを試しまし<noscript><p>javascript is off<p></noscript>たが、正常に動作していますが、JavaScriptがオフの場合はページにリダイレクトする必要があるため、このように開発されています

<noscript>
<?php header('Location: index.php');?>
</noscript>

しかし、i/tsは常にindex.phpにリダイレクトします。これを行う方法はあります。

4

6 に答える 6

11

ページがクライアントに提供される前にphpが実行されるため、ソリューションは明らかに機能しません

代わりに次のようなことができます

<noscript>
  <meta http-equiv="refresh" content="0;URL='http://example.com/'">
</noscript>

ドキュメントの頭に

于 2012-09-28T11:38:23.817 に答える
3
<noscript><meta http-equiv="refresh" content="1;url=error.html"></noscript>

JS が無効になっている場合にリダイレクトするには、これを試してください Php スクリプトは js とは独立して実行されます

于 2012-09-28T11:41:17.840 に答える
2

noscriptには既知の問題があります

代わりにこれを行います:

<html>

<head>

<script>
window.location.href="javascriptEnabled.html";
/*Since javascript is enabled redirect to javascript based page*/
</script>

</head>

<body>
Showing Static Website since javascript is not enabled..
</body>

</html>
于 2012-09-28T11:45:13.690 に答える
1

クライアント側の対話性がないと、クライアントから情報を取得できないため、これを行う良い方法はありません。

あなたはこのようなことをすることができます...

  1. 5 秒後にトリガーするようにメタ リダイレクトを設定する
  2. javascript を使用してメタ リダイレクトをオーバーライドする

したがって、javascript が有効になっている場合は JavaScript ページが表示され、それ以外の場合は非 JavaScript ページが表示されます。

于 2012-09-28T11:40:19.120 に答える
0

ここで別のアプローチを使用できます

  • Javascript なしのバージョンをデフォルト バージョンとして使用する
  • 拡張バージョンへの JavaScript リダイレクトを使用する

サイトの個別のバージョンを持たない方がよいことを忘れないでください。http://modernizr.com/またはhttps://github.com/filamentgroup/enhanceなどのライブラリを使用して、プログレッシブ エンハンスメントを行うことができます。

于 2012-09-28T12:00:10.320 に答える
0

がクライアントによって処理されている<?php header('Location: index.php');?>間にサーバーによって処理されるため、index.php にリダイレクトされます。<noscript>

これを行う正しい方法は、クライアントで javascript を使用して Cookie を設定し、サーバーで php を使用して Cookie の存在を確認することです。Cookie が存在する場合は JavaScript がオンになり、そうでない場合はオフになります。

于 2012-09-28T11:41:46.820 に答える