【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

英語のサイトで海外の方が作ったものを
Another HTML-lint gateway http://openlab.jp/k16/htmllint/htmllinte.html
でチェックしてエラーをできるだけなくしたいのですが、
私がJavascriptがさっぱりわからず、つまづいてしまいました。

----------------------
<script language="JavaScript1.2">mmLoadMenus();</script>
<a href="about.asp" onMouseOver="MM_showMenu(window.mm_menu_0119092132_0,0,23,null,'image2');MM_swapImage('image2','','images/menu_about2_selected.gif',1)" onMouseOut="MM_startTimeout();MM_swapImgRestore()"><img src="images/menu_about2.gif" name="image2" border="0" id="image2"></a><a href="basel.asp" onMouseOver="MM_swapImage('image1','','images/menu_basel2_selected.gif',1)" onMouseOut="MM_swapImgRestore()"><img src="images/menu_basel2.gif" name="image1" border="0" id="image1"></a><a href="activitiesassist.asp" onMouseOver="MM_showMenu(window.mm_menu_0119090425_0,0,23,null,'image3');MM_swapImage('image3','','images/menu_assist2_selected.gif',1)" onMouseOut="MM_startTimeout();MM_swapImgRestore()"><img src="images/menu_assist2.gif" name="image3" border="0" id="image3"></a><a href="activitiesreport.asp" onMouseOver="MM_showMenu(window.mm_menu_0119090642_0,0,23,null,'image4');MM_swapImage('image4','','images/menu_report2_selected.gif',1)" onMouseOut="MM_startTimeout();MM_swapImgRestore()"><img src="images/menu_report2.gif" name="image4" border="0" id="image4"></a><a href="specificinfo_main.asp" onMouseOver="MM_showMenu(window.mm_menu_0119090857_0,0,23,null,'image5');MM_swapImage('image5','','images/menu_specific2_selected.gif',1)" onMouseOut="MM_startTimeout();;MM_swapImgRestore()"><img src="images/menu_specific2.gif" name="image5" border="0" id="image5"></a><a href="links.asp" onMouseOver="MM_swapImage('Image2','','images/menu_links2_selected.gif',1)" onMouseOut="MM_swapImgRestore()"><img src="images/menu_links2.gif" name="Image2" border="0" id="Img1"></a>
----------------------
・body内にscriptが書かれています。
・alt属性の入れ方がわかりませんでした。
・<script language="JavaScript1.2">は、
<script type="text/JavaScript1.2">で良いのでしょうか。
・同じnameがあり(idも合っていない)変更しても問題ないでしょうか?

初心者な質問かと思いますが、
回答いただければ幸いです。
よろしくお願いします。

A 回答 (5件)

> idは小文字を含むことができないようなので、


> 大文字にして、nameも合わせて大文字に変更したら
> scriptがきかなくなってしまいました。

小文字使えますよ。
逆に属性の値などはあまり大文字使わない方がいいと思います。
JavaScriptは文法は大文字と小文字を完璧に区別するのでid名などを
小文字で記述していたものを修正せずにHTMK側だけ修正したら動作
しなくなるのは当然です。

> また、「 <SCRIPT>~</SCRIPT> 内の要素はすべてコメントで囲んだ
> 方が安全です。」とエラーが出ます。
> この場合はどこからどこまでをコメントアウトしたほうが良いの
> か、、、、

それはJavaScriptの書き方を調べればすぐにでてきますし、lint側でも
書かれていませんか。
基本的にはJavaScriptに非対応な環境でスクリプトをHTML内に書いた
場合にスクリプトがそのまま表示されることを防ぐためにコメント
アウトしておくのが習慣となっています。

<script>
<!--
// ↓~ JavaScript コード ~
// -->
</script>

最後の // は一部の環境でそのままHTMLのコメントを閉じるとエラーに
なる場合があるようなのでそれを回避するためにJavaScriptの1行
コメントを入れることになっています。

ただ、実際にはHTML上にJavaScriptを直接記述するのは非推奨なので
できるならちゃんと外部ファイルとして用意して読む込むように
した方がいいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Javascriptのコメントのところは、
<script type="text/JavaScript"><!-- mmLoadMenus(); // --></script>
のように一行で入れてしまっていたので、うまくいきませんでした。
一文でもきちんと改行しなければならなかったようで、勉強になりました。

いくつかのJSファイルは外部化されているのですが、このスクリプトは各ページに書かれているようで何か意図があったのか、単純に外部化しなかったのかはわかりません。
(これだけでなく、head部分にもとっても長いJavascriptがありますが。。)

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

>>ANo.4


> 小文字で記述していたものを修正せずにHTMK側だけ修正したら動作
> しなくなるのは当然です。

小文字で記述していたものを修正せずにHTML側だけ修正したら動作
しなくなるのは当然です。

分かると思うけど、よく見たら間違えていたので。
最近、変な誤字ばかりする。(^_^;
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございますm(_ _)m

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

Dreamweaverは古いブラウザを考慮したスクリプトを生成しますので、(name属性を使うのもその1つです)


JavaScriptがわからなければ、Dreamweaverで作ったHTMLはさわらない方がいいと思います。
Another HTML-lintを使うなら宗教的なチェックなどをしないか、(全てのチェックを行うと、古いブラウザで適切に表示できなくなることがあります)
W3CのHTMLチェッカーでエラーが出ないことを確認できたらOKとするといいと思います。

また、書き方もわからずに適当に変更すると、DWで作り直せなくなります。

> ・<script language="JavaScript1.2">は、
> <script type="text/JavaScript1.2">で良いのでしょうか。
text/javascript
となります。

> ・同じnameがあり(idも合っていない)変更しても問題ないでしょうか?
HTMLの文法上は問題ないと思いますが、たぶんJavaScriptが動かなくなります。

> idとnameが同じ値でなければならないというのは理解いたしました。
特定の条件付きで同じにならなければなりませんが、基本的には違っていてもかまいません。

参考URL:http://validator.w3.org/
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご意見を参考にし、各場所修正してみたところ、
一応稼働しているようで、lintでもなんとかOKが出ました。

lintは確認作業者がデフォルトで確認していたようなので、
私もデフォルトで作業していました。宗教的なチェック等は意識してませんでした。。さすがに必要なさそうだったので無効にしました。

お礼日時:2008/08/18 20:38

> 修正の助言を読みましたが、Javascriptの理解が足りないためか、


> 例えばaltですと入れる部分が間違っている等の別のエラーが出て
> しまいます。

入れる部分とは?
alt属性はimgエレメントの属性ですよね。

nameとidですが、nameは同名を複数付けられる(重複できる)・idは
単一でないといけないという違いがあります。
また、nameとidで重複させないといけない場合とできない場合が
あったり、いろいろややこしいです。
基本的にフォーム以外のエレメントはidにした方がいいようです。
フォームはnameでないとCGIなどに値を渡せません。
(フォームに重複したname与えるとlintでエラーになってしまうけど)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

altは</a>で改行して見やすくしてみたら気がつきました。
勘違いしていたようです。ありがとうございます。

idは小文字を含むことができないようなので、
大文字にして、nameも合わせて大文字に変更したら
scriptがきかなくなってしまいました。
idを書かなければlintでエラーが出ないようです。
この場合idは書かなくても良いものなのでしょうか。。

また、「 <SCRIPT>~</SCRIPT> 内の要素はすべてコメントで囲んだ方が安全です。」とエラーが出ます。
この場合はどこからどこまでをコメントアウトしたほうが良いのか、、、、

お礼日時:2008/08/18 17:29

基本的にチェッカのエラーには修正の助言がなされている筈だからその通りにすれば出なくなるよ。


http://www.google.com/search?hl=ja&q=script+type …

他のは唸るほどあるHTMLの本やサイトで書かれているので敢えて省略するけど調べても判りにくいnameとidだけ。
nameとidは基本的に同じ物でidを使うべきってなってて、idとnameは同じ値であるのが望ましい。
しかも罠的にidでは効かないのでnameじゃないとならない、ってのがあるから両方書かないとならないなんてのもあるので面倒。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

修正の助言を読みましたが、Javascriptの理解が足りないためか、
例えばaltですと入れる部分が間違っている等の別のエラーが出てしまいます。

ちなみに、HTMLバージョンは
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
です。

idとnameが同じ値でなければならないというのは理解いたしました。
他のnameとかぶっているものは新たにnameの値を入れたいと思います。

お礼日時:2008/08/18 15:50

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


おすすめ情報