プロが教える店舗&オフィスのセキュリティ対策術

JavaScriptがoffならば、ページを表示しない。

というのは可能なんでしょうか?
すべてをdocument.writeで書けばいいのでしょうが、
PHPで動的に、ページを作っているので、できるだけ
シンプルな方がいいのです。

別のページに飛ばすと言うのでもかまいません。
一応、JavaScriptでリンク元のページを開くようにして
ダブルチェックの意味合いもあるのですが。

A 回答 (3件)

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 の記述しかないかと・・・。
どこを妥協するかがポイントかと。
    • good
    • 0
この回答へのお礼

とりあえずはCSSでページでやってみました。
そこで苦情が出るようなら、document.writeで
書こうかと思います。
PHPからの出力なので、一度作成してしまえば、
煩わしさはないのですが。大感謝♪

お礼日時:2005/06/19 20:58

表示しない、というのがスタイルによる未表示でいいなら。




<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>
    • good
    • 0
この回答へのお礼

HPでは質実剛健を身の上としていた故、スタイルシートや
CSSはとんとわからん。
でも、使えそうです。大感謝♪

お礼日時:2005/06/14 21:42

逆に先に判定用のページに一度飛ばし、JavascriptがONならばPHPで作成したページに飛ばすというのはいかがでしょう?




---判定用ページ---
<html>
<body>
<script language="JavaScript">
<!--
  this.location = "表示したいページ.php"
// -->
</script>
<noscript>
</noscript>
</body>
</html>
    • good
    • 0
この回答へのお礼

やはり、JavaScriptを使わないタグだけだと、
難しいですかねー。感謝。
ページに入ってから、JavaScriptをoffにされた場合、
無表示・もしくは別ページにとばしたいのですが。
でも、this.locationでページにとばせるのですね。感謝。

お礼日時:2005/06/14 18:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!