- ベストアンサー
meta css javascript 必要性
- meta css javascriptの必要性や役割について
- metaタグによる情報のやり取りとブラウザの自動解釈について
- meta css javascriptのメリットとデメリットについて
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptやCSSを書くとき、<script>~</script>や<style>~</style>でなくて、<script type="text/javascript">~</script>や<style type="text/css">~</style>のようにtype属性を指定することになっています。 これは、論理的に考えると、スクリプトと言ってもどの言語かわからないと実行出来ないし、スタイルと言ってもどういう風に指定するのかわからないので、これこれの言語だとか、これこれの形式でスタイルを指定しますよという属性を指定する訳です。 ところが、実際には、ほとんどのブラウザで、それぞれの属性の省略時値が、JavaScriptやCSSなので、<script>~</script>や<style>~</style>でも同じように動作します。なので、「今このブラウザで動けば良し」という考え方に立てば指定する必要はありません。来年は期待通りに動かないかもしれないし、あなたの知らない特殊なブラウザで動かないかもしれない。 スクリプトを書くのはscriptタグの中とは限らず、一般タグのon~属性に書くこともありますが、この場合、言語の指定のしようがないので、↓で指定します。 <meta http-equiv="Content-Script-Type" content="text/javascript"> 同じく、スタイル指定はstyleタグの中だけでなく、一般タグのstyle属性に書くこともあるので、その場合の言語の指定を↓で行います。 <meta http-equiv="Content-Style-Type" content="text/css"> 指定するかしないかは前半に書いた通りです。 スクリプトは必ずscriptタグで書き、スタイルは必ずstyleタグに書くということなら、これらのmetaタグはそもそも不要です。単なる無意味なタグ。 >ちょっと おかしな想像ですが 迷う事はないのでしょうか? ブラウザ毎に、省略されているときはこれこれと見なすというのが決まっている(あるいはエラーで無視すると決まっている)ので、迷うことはありません。
その他の回答 (2)
- think49
- ベストアンサー率59% (285/482)
#2 を微訂正。 × 現在、多くのブラウザで text/css, text/javascript がデフォルトの現ととなっていますが、仕様の上ではなんの保証もありません。 ○ 現在、多くのブラウザで text/css, text/javascript がデフォルトの言語となっていますが、仕様の上ではなんの保証もありません。
お礼
ご意見ありがとうございます。 締め切りさせていただきます。
- think49
- ベストアンサー率59% (285/482)
仕様のことなので仕様書を読んでください。 http-equiv はHTTPヘッダで指定すべき設定をHTML文書で指定しています。 http://www.ietf.org/rfc/rfc4229.txt (2.1.31) http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/present/styles.html#default-style http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/scripts.html#default-script HTML4.01 ではデフォルトスクリプト言語、デフォルトスタイルシート言語 は標準化されていません。 現在、多くのブラウザで text/css, text/javascript がデフォルトの現ととなっていますが、仕様の上ではなんの保証もありません。 HTML5 では text/css, text/javascript がデフォルトの言語となりましたので、Content-Style-Type, Content-Script-Type は不要です。(未定義なので指定するとエラーになります)
お礼
読んでみます。(まだ途中です) しっかり読んだ事なかったですが、 特筆すべきは http://www.ietf.org/rfc/rfc4229.txt 。 最初戸惑いましたが、 これは、すごくいい。 ありがとうございます 2.1.30. Header field: Content-Script-Type Applicable protocol: http [11] Status: standard Author/change controller: W3C (web-human@w3.org) World Wide Web Consortium Specification document(s): HTML 4 [21] ← どこにあるか かいてある。 html5 で 組んで試したのですが、たしかに エラーでました。 (ブラウザでの表示は、無視されるので現状は問題ない。)
お礼
すばやいご返答アリガトウございます。 <style type=text/css ・・・ <script type=tex/javascript ・・・ onClick="javascript:location・・ (locationの時だけ? 確かに 今さならながら きづきましたが属性等で 指定してますね。 on~ はよく使いますし、直書き style 書いてしまうときがあるので、気をつけて meta を書くようにしていこうと思いました。 更にタグの中をしっかり 学んでいこうと思います。 その上で、metaの記述で >ブラウザ毎に、省略されているときはこれこれと見なすというのが決まっている(あるいはエラーで無視すると決まっている)ので、迷うことはありません。 metaの記述で ブラウザの表示のルールより優先させると言う事か、ブラウザが最終的な判断者なのか、調べようと MIME-Typeを かえて 試して見ようと思いましたが、よくわかりませんでした。 <meta http-equiv="Content-Script-Type" content="ここにMIME かたっぱしからいれてみた"> 予想: on~は とまどうはず。 結果:エラーで無視されてるのか、なにもかわりませんでした まさにという解答いただいてますが、12/1日まで 質問をおいてみようと思います。