• ベストアンサー

type="text/javascript"

type="text/javascript"とかtype="text/css"を全く書いていないのですが、不都合はありますでしょうか

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

  • ベストアンサー
  • mibusys
  • ベストアンサー率60% (18/30)
回答No.8

勧告で決まっていようとどうであろうとそんなものは一切関係がありません。 ブラウザで動くかどうかが最も重要なことであり、それがすべてです。 逆に勧告で定められているからといって何でも使っていいかといえばそんなはずもなく ブラウザが対応していないものも数多く存在し、そのようなものは使うべきではありません。 「text/javascript」等を書かなかったからといって動かないという現実問題を私は聞いたことがありません。 また、勧告に厳密なブラウザを作ってしまえば現実問題として多くのサイトで正常に動かなくなるため そんな馬鹿な実装をすることも考えにくいです。 現実的な視点を踏まえ常識的観点から回答すれば、 「必要ない」「なくていい」「不都合は生じない」と言い切っていいと思います。

imkgp
質問者

お礼

これですね。今後のトレンドは。個人的には! <script> alert('スッキリ(笑)'); </script>

その他の回答 (8)

  • Chaire
  • ベストアンサー率60% (79/130)
回答No.9

No.8 > ブラウザで動くかどうかが最も重要なことであり、それがすべてです。 そう言う人のための HTML5 です。使ってやって下さい。

  • Chaire
  • ベストアンサー率60% (79/130)
回答No.7

連投失礼。 ちなみに、現在策定中の HTML5 では、script 要素、style 要素の type 属性が必須かどうか定かではありません。省略されたときはそれぞれ text/javascript、text/css で解釈するとなっています。事実上、これが現在の多くのブラウザの挙動です。まあ、ブラウザ以外のアプリケーション上でどうなるかは定かではありませんが(DOM/XPath を扱うときなんか、デフォルト値の有無って結構厄介なんですよ)。 MSDN には「デフォルト値なし」と書かれていますが、IE の挙動も上記の草案に沿うものになっています。なお脱線しますが、MSXSL で用いる script 要素は language 属性しか持ちませんので、type 属性を指定するのは無意味です。 ですから、type 属性が必須かどうかは各言語をよく調べて下さい。少なくとも、HTML4、XHTML1 系列では必須です。type 属性を書きたくなければ、とりあえず HTML5 でも宣言しといて下さい。まだ草案なのでどう転ぶか分かりませんが、妥当性違反を放置するよりはマシでしょう。

imkgp
質問者

お礼

博学ってのは分かるんですが、知りたいのは「妥当性違反」による端的なリスクです。しかし勉強になりました。

  • Chaire
  • ベストアンサー率60% (79/130)
回答No.6

HTML 4.0、XHTML 1.0 では style 要素、script 要素の type 属性は必須。無ければ妥当性違反です。 自分だけが壊れたデータを扱うなら好きにすれば良い。あるいは、type 属性を必要としない言語を設計して使えば良い。公共の場に、公共の言語でリソースを提供するならば、妥当性検証くらいはすべき。妥当性検証をパスしないデータだと分かっていて、自分だけのものではないデータベースに突っ込むのは単に愚かでしょう。それだけの話です。 type="text/vbscript" とか type="text/xml" とか type="text/perlscript" とか type="application/xsl" などは既に動作しうるし、type="application/ruby" とか type="application/php" とか type="application/python" とか type="application/processing" なんかを動かそうと頑張っている人たちもいます。デフォルト言語が何であるかは、(全く利用されていない Content-Script-Type を除けば)実装依存です。 不都合という点で言えば、text/javascript は廃止済。本来は application/javascript か application/ecmascript を指定すべきですが、IE が対応していない現状、仕方なく text/javascript を使います。 また、ほとんどのブラウザ(Netscape 4.x を含む)が、language 属性よりも type 属性を優先します。従って、type 属性を付けると JavaScript のバージョン指定(例えば、<script language="JavaScript1.3"> のようにすれば JavaScript 1.3 を知らないブラウザは無視する)ができなくなります。しかし、よほど特殊な状況を除き、現状でこれが必要になることはないでしょう。 ちなみに、Firefox は type="application/javascript; versoin=1.8; e4x=1" のようなバージョン指定に対応しており、機能を切り替えることができます。むしろ、今ではこちらの方がよく使われるでしょう。 ですから、特に理由がなければ type 属性は必ず書いて下さい。一括置換でも一瞬で終わるはずです。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.5

No.4です。 <meta http-equiv="Content-Script-Type" content="text/javascript"> の方と勘違いしてました。 ああ恥ずかしい><。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.4

JavaScriptやCSSを全く使ってないなら不要。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

十字路で信号が赤だけど、交差する道路に車がはしっていないので つっこんでよろしいですか?という質問に、 車がこないなら問題ないじゃん・・・という考えをするなら つけなくても問題ありません。 もしかしたら、パトカーが張っているかもしれない、急に歩行者が くるかもしれない、そもそもルールは守らなくてはいけない・・・ という考え方をするなら、決められたルールは守りましょう。 どちらかが正しいということではありません。 考え方次第、また場合によってどちらも正しいということが言えます 信号自体が古くてもう使ってない可能性だってあるのですから

imkgp
質問者

お礼

大阪人てきには余裕OKということですね☆

noname#84373
noname#84373
回答No.2

必須と書いてあるよ。 http://w3g.jp/xhtml/dic/script

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

無いよ。 ただし、見る側で  作成者が意図しない動作(読み込まない、文字のまま表示される等)  の可能性が否定できなくなるね。 それでも良いなら省略しても良いよ。 いつも省略したいならmetaで省略した場合のtypeを記述しておくのが常套じゃないかな http://www.tohoho-web.com/html/meta.htm