- ベストアンサー
JavaScriptがoffならば、ページを表示しない。
JavaScriptがoffならば、ページを表示しない。 というのは可能なんでしょうか? すべてをdocument.writeで書けばいいのでしょうが、 PHPで動的に、ページを作っているので、できるだけ シンプルな方がいいのです。 別のページに飛ばすと言うのでもかまいません。 一応、JavaScriptでリンク元のページを開くようにして ダブルチェックの意味合いもあるのですが。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
表示しない、というのがスタイルによる未表示でいいなら。 <style type="text/css" id="CSS1"> body *{display:none;} noscript{display:block;} </style> <script type="text/javascript"> document.getElementById('CSS1').disabled = true; </script> <body> ~~ <noscript>javascript on にしてね</noscript> </body>
その他の回答 (2)
- koutarou504
- ベストアンサー率44% (182/407)
JavaScript が off ならば表示しない方法。 案1.JavaScript が on なら表示。元は非表示。 案1-1.元は元々ないので非表示。つまり全て JavaScript で出力。 (途中での on off 切り替えにも対応可能。ただし出力処理の記述が面倒・・・。) 案1-2.元は物理的にあるけれど見えない。見せない方法はコメント化。途中に JavaScript で--> や <!-- を出力してコメントを途中で途切れさせたり制御する。 (実際には半角であり、また1つの文字列としてでなく分割して文字列の連結をするなどの配慮も必要。) 案1-3.元は物理的にあるけれど見えない。見せない方法は CSS を使用する。 JavaScript で CSS の更新(上書き)で表示させる。 (CSS を off にされたりすると、対処できない。) 案2.別ページでチェックして JavaScript が on の場合のみページを遷移させる。 (当然、途中での on off 切り替えには対応不可。) 案2-1.JavaScript で URLを更新する事によりページを遷移する。 案2-2.JavaScript で META を出力する事によりページを遷移する。 (META が適切に動作するとは限らないので・・・) 結局、JavaScript の on off にリアルに対応するには、 JavaScript でのソース出力と noscript の記述しかないかと・・・。 どこを妥協するかがポイントかと。
お礼
とりあえずはCSSでページでやってみました。 そこで苦情が出るようなら、document.writeで 書こうかと思います。 PHPからの出力なので、一度作成してしまえば、 煩わしさはないのですが。大感謝♪
- EUR
- ベストアンサー率61% (29/47)
逆に先に判定用のページに一度飛ばし、JavascriptがONならばPHPで作成したページに飛ばすというのはいかがでしょう? 例 ---判定用ページ--- <html> <body> <script language="JavaScript"> <!-- this.location = "表示したいページ.php" // --> </script> <noscript> </noscript> </body> </html>
お礼
やはり、JavaScriptを使わないタグだけだと、 難しいですかねー。感謝。 ページに入ってから、JavaScriptをoffにされた場合、 無表示・もしくは別ページにとばしたいのですが。 でも、this.locationでページにとばせるのですね。感謝。
お礼
HPでは質実剛健を身の上としていた故、スタイルシートや CSSはとんとわからん。 でも、使えそうです。大感謝♪