• ベストアンサー

JavaScript無効時に

JavaScriptを無効にしている際、 <noscript></noscript>で、特定のメッセージを表示することができますが、<BODY>のすぐ下に以下のタグを入れても問題ないでしょうか? IEでは自分の思い通り、JavaScriptが有効の時は普通にページを表示し、 無効のときはページが完全に表示しないようになったのですが・・。 よろしくお願いします。 --------------------------------------------------- <noscript> <div style="height:1px;overflow:hidden;position:relative;top:-1px;"> </noscript> ---------------------------------------------------

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

<noscript></noscript> NOSCRIPT 要素自体はスクリプト無効/未対応の時に有効というブロック要素という事なので、 ブロック要素が記述できる処であればどこに記述しても問題ありません。 まぁ通常、<script></script>の無効用として記述する事が主なので、<script></script>の直後に記述される事が多いですが、別にその様な決まりはありません。 結局、内容,目的次第です。 よって、<BODY>タグのすぐ下でも問題はありません・・・。 ただ、例示されている記述ですが、 <noscript></noscript>の中に <DIV> の開始タグのみが存在し、終了タグ</DIV> が存在しません・・・。ブラウザによっては補正してくれますが、どの様に補正されるかは・・・。 あと、スタイルシートも目的が提示されていないので、どの様な物か評価できませんし・・・。 という事で、とりあえず提示されている(だけの)記述では不適切です。 対応方法は、意図が不明の為に提示不可能です。

is_may
質問者

お礼

</body> の直前に <noscript> </div> </noscript> と入れれば大丈夫ですね。(? ご指摘ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

height:1px;overflow:hiddenだからじゃないですか? bodyの次にこれを書いているということなどで</div>が出るまでの範囲は、高さが1pxではみ出す内容を表示しないから。 その中に</div>が無ければ普通に表示されるんじゃないかとおもいますよ。

is_may
質問者

お礼

解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

#1の方がおっしゃっているように、<div>は</div>でちゃんと閉じておきましょう。 入れる場所は問題ありません。 ただ、無効にしている場合に何も表示しないのは不親切ではないでしょうか。 「JavaScriptを使用しています。ご覧になる場合はJavaScriptを有効にしてください。」など、一言お断りを入れたほうがよいかと。

is_may
質問者

お礼

メッセージ必要でしたね^^; ありがとうございました。

すると、全ての回答が全文表示されます。
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

>無効のときはページが完全に表示しないようになった ここまでやると検索エンジンからSEOスパム扱いされかねないです。 もっともJavascript無効で機能しないページなら検索エンジンに登録されるかどうかは問題としていないのかもしれませんが。

is_may
質問者

お礼

完全といっても画面にどのように表示されるか、ですが、 一応間違われない用、少し下辺りから開始して、途中で止めるようにします。 ご指摘ありがとうございましたm(_ _)m

すると、全ての回答が全文表示されます。

関連するQ&A