- 締切済み
<NOSCRIPT>
<NOSCRIPT> ブラウザがスクリプト非対応の場合,<noscript>をつけると追加の情報を表示できますが, ブラウザがスクリプト非対応の場合,通常の表記をかくすことってできますか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
HTML --------------- <body> <script src="write.js"></script> </body> write.jsに以下を記述 --------------- document.write('<p>スクリプトが非対応の場合に表示されない文章。</p>');
- think49
- ベストアンサー率59% (285/482)
こういうことですか? <div id="Target">Script無効の時だけ表示するよ!</div> <script type="text/javascript"> document.getElementById('Target').style.display = 'none'; // div#Targetを不可視にする </script> 消えるっちゃ消えますが、JavaScriptはDOMノードが生成されたノードにしかアクセスできませんから、 ブラウザが表示した後に一瞬遅れて、JavaScriptが要素を消します。 初めから見えないようにすることは出来ませんし、CSS無効環境では見えてしまいます。 <head> 読み込みの時点で、document.styleSheets にスタイルを流し込む手もありますが、描画タイミングによっては見えてしまいそうです。 CSS無効で見えてしまう欠点も残っています。 JavaScriptだけで完全に見えないように管理したいのなら、document.createElement, innerHTML, document.write 等で要素を生成するのが最良だと思います。 (用途によってはJS無効時のHTMLをJavaScriptで改変する方がスマートだと思います) <script type="text/javascript"> (function(){ var p = document.createElement('p'); // p要素ノード生成 p.appendChild(document.createTextNode('"Hello, World!"')); // テキストノードを流し込む document.body.appendChild(p); // p要素ノードを body の子として追加 })(); </script> たまに、 <div style="display: none;">デフォルトでは見えない</div> にして、JavaScriptで display:block; に変更するサイトを見かけますが、 やはり、「CSS無効 & JS無効」の環境では見えてしまいます。 JS無効に配慮するなら、CSS無効にも配慮する方がベターだと思います。
- fujillin
- ベストアンサー率61% (1594/2576)
「通常の表記」の意味がよくわかりませんが… 1)通常のHTMLで、スクリプト非対応の場合の表示を作成しておく。 2)上記をスクリプトで、スクリプトONの場合の表記(=通常の表記?)に書き換える。 以上の仕組みで、 スクリプトON → 通常(?)の表記 スクリプトOFF → 初期の表記(=通常の表記ではない) となります。 (言ってることは、No2様が既に回答されている内容ですけれど)
- BellBell
- ベストアンサー率54% (327/598)
もし、スクリプト非対応のユーザには見て欲しくないページ(見ても意味が無いページ)があるという意味であれば、javaAcriptを使ってページ遷移すればよいのではないかな? そのページを見ている時点で、JavaScript対応しているとみなしてOKと。 実際には、他サイトが直リンクしたり、robot.txtを無視する検索サイトなどから直接来たり、あるいはユーザが途中でJavaScriptをOFFにしたりで、100%の判定は無理だとして。 JavaScript対応しているユーザにだけ見せたい文字があるとしたら、JavaScriptで文字を表示させるとか。 document.write("hogehoge"); あたりですかね。 いちいちdocument.writeで書いてられないということであれば、ファイルから読み込むとかもあり。 ※自前でやるには少々面倒なので、prototype.jsを使えばかなり楽。
- notnot
- ベストアンサー率47% (4900/10358)
>ブラウザがスクリプト非対応の場合,通常の表記をかくすことってできますか? 通常の表記とは? <script type="text/javascript"><!-- スクリプトが有効なときの処理をJavaScriptで書く //--></script> <noscript> スクリプトが有効なときに表示されない記述をHTMLで書く </noscript> これ以外のことは出来ません。<noscript>に書くのは追加じゃなくてscriptの代替です。 <img src="画像表示が有効なときに表示する画像のURL" alt="画像表示が無効なときに表示するテキスト" /> なんかと同じ関係。