2011-10-17 6 views
2

ページがアイドル状態のときにブラウザでjavascriptが有効か無効かを検出するにはどうすればよいですか?ページがアイドル状態のときにJavaScriptでJavaScriptを有効または無効にするにはどうすればいいですか?

+2

...この情報で何をするのですか?サーバーに送信しますか? – DaveRandom

+3

私は恐れます。 PHPはサーバー側、jsはクライアント側 – OptimusCrime

+0

@OptimusCrimeこれを行う方法は100%信頼できません - javascriptEnabled = 0'の最初のページにクッキーを設定し、それを設定するJSを設定します「1」に設定する。そうすれば、クッキーの値が「1」であれば、クライアントでJSとCookieが有効になっている必要があります。確かに、この方法はちょっとばかばかしいものではありませんが、おそらくあなたが得られるほど良いでしょう...確かに、それは信頼できないので、答えとして投稿するつもりはありません。 – DaveRandom

答えて

1

JavaScriptはクライアント側であり、PHPはサーバー側です。ですから、スクリプト(クライアント側)が実行されていないときに何らかのフォールバックを作成する必要があります。あなたのページはまだ動作する必要があります。そのため、サーバー側で常に重要な(入力)検証を行う必要があります。

2

あなたは「JSが無効か有効であるかどうかを確認する方法」を求めている場合 - あなたは(AB)は、このためのHTMLのnoscript要素使用することができます

<noscript> 
    <meta http-equiv="Refresh" content="1; URL=http://www.example.org/no-js" /> 
</noscript> 

をし、JSが有効になっている場合、十分、あなたは、AJAXを経由して、これを報告し、または別のリダイレクトを行うことができます。これは1つの余分redirecを必要

<script> 
    window.location = 'http://www.example.org/js-is-enabled'; 
</script> 

  • こと一部のブラウザはnoscriptmetaタグの組み合わせによって混乱可能性があるページのロード
  • (IIRCいくつかの問題がIE6であった)、ではないに言及し、これはその様々な「ウェブ保護」システムのための十分な不審に見えるかもしれ
  • ことで、ン一部のユーザーはリダイレクトをブロックし、NoScriptなどのプラグインを使用すると
  • と表示されることがあります。一部のブラウザでは、JSが一時的に無効になっている場合もあります。
+0

ページがロードされているときにnoscriptタグが使用されています。asking page is idle – vijay1405

+0

@ vijay1405:「アイドル」とはどういう意味ですか? JSがなければ、ページが読み込まれ、レンダリングされます。それだけです。それ以上の処理はありません。完了しました。コンプリート。完成しました。 – Piskvor