2011-11-05 8 views
1

可能性の重複:
How to detect if JavaScript is disabled?JavaScriptを無効にしているブラウザを検出し、それらのサイトを分離していますか?

私は、ユーザーがJavaScriptを無効にしている場合キャッチするためとして最も実行可能見ることが他の何人興味があります。私が使用しようと考えている方法は2種類あります。誰かが良いアイデアやアイデアやアイデアを持っている場合は、これらのいずれかを一緒に置いている間に私は注意してください私に知らせてください。

第一の方法

  1. は、JavaScript関数とPHPする変数を渡します。
  2. 変数によっては、PHPがJavaScriptバージョンまたはJavaScript以外のバージョンを書き込みます。

第二の方法

  1. は、JavaScript関数とPHPする変数を渡します。
  2. 変数に依存して、PHPはJavaScriptを使用したサイトまたはJavaScriptを使用しないサイトにヘッダーを使用してリダイレクトします。

私は最初にユーザーがページからリダイレクトされないように見えると思っています。 JavaScriptが無効になっているか、有効になっているかどうかを簡単に検出する方法があるのは不思議です。 JavaScriptを使用する代わりに、PHP関数を使用してそれを行うことはできますか?上記の方法を使用すると、JavaScriptが無効になっていると変数が渡されず、PHPがJavaScript以外のバージョンのサイトを出力すると仮定します。

どれでもかかります。

答えて

4

あなたがこれを行うにはPHPを必要としないが、それはすべてのHTMLです。

あなたのメインサイトにjavascriptのページがあります。その頭の中で、noscriptタグを持つことができます。noscriptタグは、JavaScript以外のページへのメタリフレッシュ(またはそれ以上)を持っています。

3

なぜユーザーにメッセージを表示するのにnoscriptタグを使用しないのですか? http://www.w3schools.com/tags/tag_noscript.asp

javascriptがアクティブかどうかを確認するより複雑な理由がない限り、一般的には、noscriptタグに大きなメッセージをラップするだけで、javascriptが必須で、それがなければ動作しないことを示します。プレーンhtml、何も空想。

+0

Khm ... http://w3fools.com/ –

+0

を使用してJSバージョンにリダイレクトされます。それでもまだjavascrpitを使ってサイトをナビゲートしています。 – Brodie

0

往復の必要はありません。最初のリクエストでブラウザがjsをサポートしているかどうかを知ることができます。 get_browserのコメントには興味深い議論(およびスニペットのリスト)があります(これは残酷かもしれないと思われ、いくつかの設定要件があります)。 APIのドキュメントを読んで、コメントを覗いてみてください。

http://php.net/manual/en/function.get-browser.php

0

<noscript>タグを使用し、そのタグにMETAリダイレクトを設定すると、JavaScriptを使用していないユーザーは非JSバージョンになります。あなたのスクリプトタグでこのような何かを行うことができ

<noscript> 
<meta http-equiv="refresh" content="0; url=http://foo.com/nojs"> 
</noscript> 

または、::

だからあなたのコードは次のようになります

location.href='http://foo.com/js'; 

この方法は、あなたのメインのサイトが非jsのですバージョンがあり、JavaScriptがサポートされている場合は、location.href

関連する問題