プロが教えるわが家の防犯対策術!

http://javascript.eweb-design.com/1212_ac.html

このサンプルをそのまま組み込み、「CSE HTML Validater」というHTMLの
文法チェッカにかけてみたら、

> HTML 4.01 and XHTML require the "type" attribute for the "script"
> element to specify the scripting language. For example, use
> type="text/javascript" for JavaScript. Note that many browsers may
> work without this attribute but it is highly recommended that it be
> used.

と警告が出ました。確か、HTML-Lintでも、何か言われたな、と思い出し、
チェックしてみたら、やはり「<SCRIPT> には TYPE 属性が必要です。」と
いわれます。

そこで、上記ページのサンプルの<SCRIPT language="JavaScript">の箇所に、
<SCRIPT language="JavaScript" type="JavaScript">と追記してみたり、
<SCRIPT type="JavaScript">に書き換えてみたりしたら、
関数を呼び出す行がいかん、とスクリプトエラーになってしまいます。

属性を書き換えたことがいけなかったのと気づかす、原因判別に時間を費や
してしまい、すっかりハマりました。

確か、language属性の方は古い書き方だとかだったと思いますが、スクリ
プトが動かなくなるほど致命的な違いがあるんでしょうか?

さらにいうと、別のサンプルで<script language="JavaScript1.2">という
記述を書き換えたときも動かなかった経験があります。

何かお心あたりがあればご教示いただけますと幸いです。

A 回答 (3件)

勧告に忠実に記述するか


現実の実装に則した記述にするか
の方針の違いといえます。

「HTML Validater」かけるということは
勧告に忠実に記述するということです。
しかし、そうしたところで正しく表示されるか・
正しく動作するかどうかはまったく別問題です。

現実の実装に則した記述とは勧告は関係なく、
一般的に使用されているブラウザでどう表現されるかを重視するということです。


普通に動かすのなら<script>で十分です。
あまり勧告にこだわらない方がいいのではないかと思います。
    • good
    • 0
この回答へのお礼

mibusysさん、アドバイスありがとうございました。

>正しく動作するかどうかはまったく別問題

>あまり勧告にこだわらない方がいい

こだわりすぎていたようですね。
指針程度に気楽に作成するようにします。

お礼日時:2008/10/19 19:17

それは規則ではなく勧告というものです。

勧告通りのチェック
で引っかかるように作ってあるCSE HTML Validaterのようなサ
イトに掛ければ引っかかるのは当然ですが、だから動かないと
か表示しないということでは全然ありません。気にすることは
まったくないのが現状です。世の中にはその属性で書かれた
ページが腐るほどありますから、それで具後かなくしたらネット
は大パニックになります。むしろ、LANGUAGE属性で書いておいた
方が安全ともいえるほどです。それでも不安なときは両方を
書いておけばいいのです。正誤判定機に掛けて完全にパスする
ようなページはまずないといってよいでしょう。
    • good
    • 0
この回答へのお礼

ccloveforuさん、アドバイスありがとうございました。

>世の中にはその属性で書かれたページが腐るほどあり

>大パニックになります

まったくおっしゃるとおりですね。

あまり正誤判定機にこだわりすぎないように
バランスよく作成したいと思います。
大変参考になりました。ありがとうございました。

お礼日時:2008/10/19 19:19

http://www.tohoho-web.com/js/write.htmに「language属性」について
**********
language 属性は HTML4.01 に採用されなかったため、
HTML4.01 に従う場合は language 属性ではなく、type 属性を使用します。
**********
と書いてあるので、致命的ではありませんが、
type="text/javascript"を使うのを習慣にしたほうがいいと思います。

参考URL:http://www.tohoho-web.com/js/write.htm
    • good
    • 0
この回答へのお礼

kura07さん、ご回答ありがとうございました。
type="text/javascript"と書くべきところを
type="javascript"
としていた点でも誤っていましたね。

以後、注意したいと思います。

お礼日時:2008/10/19 19:11

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