最近、時代の流れについてゆけず・・・・
いまさらですが、MarkupValidationServiceというものを知りました。
http://validator.w3.org/
ここのバナーがほしいというわけではないですが、
いろいろやっていくうちに、ハマッてしまいました。
のこり一箇所だけ不明なエラーがあります。
自分の勉強不足なんですが、どうしてもわかりません。
どなたか解決方法があれば教えて下さい。
【エラーの箇所】
<script language="javascript1.1" type="text/javascript" src="foot.js" />
【エラーコメント】
# Error Line 78 column 17: there is no attribute "language".
以上です。宜しくお願いします。
No.2ベストアンサー
- 回答日時:
HTML4.01以降 scriptのlanguage属性は非推奨となっています
ちなみにtype属性が採用されますが、こちらは推奨ではなく"必須"となります
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
また、Markup Validation Serviceではエラーとはでませんが、
<script>タグは<img>や<br>と違って空要素ではないので、
<script ~ />とはできません
必ず<script ~></script>とする必要が出てきます
下記のような例を記述してみると実際scriptタグが閉じられていないのがわかります
(</script>までが1くくりと判断され"段落2"しか表示されない)
<script type="text/javascript" src="foot.js" />
<p>段落1</p>
<script type="text/javascript" src="foot.js"></script>
<p>段落2</p>
わかりやすくタグで説明頂きありがとうございます。
大変助かりました。
お陰様でバナーをゲットできました。
ありがとうございます。
No.7
- 回答日時:
>suzuki-_-さん,quadsさん
勉強になりました。ありがとうございます(自分のBlogにメモ)
>お陰様でバナーを頂くことができました。
「This Page Is Valid XHTML 1.1!」と表示されると何度も見てしまう。
うふふ。
気持ちは良くわかる。俺もよく何度も見たり眺めたりしちゃうもん
>タグには関係してないことなんでしょうか?
タグには無関係。つまり書き間違いはない。
HTTPサーバの設定。
どんなHTTPヘッダが流れているかは
Firefoxアドオン(まだ名称「拡張」だっけ?)のLiveHTTPHeaders
http://livehttpheaders.mozdev.org/
や
IEのアドオンの
ieHTTPHeaders
http://www.forest.impress.co.jp/article/2005/02/ …
Operaはv9.20 Build 8713で
Tools>Advanced>Developer Console
で見られそう。
その他
Web-Sniffer 1.0.24
http://web-sniffer.net/
を使う手もある
#他、telnetでHEADを送るってのもありかな(ぉ
XHTML 1.1ではContent-TypeがApplication/xhtml+xmlが推奨,Application/xhtmlやtext/xmlが可能,text/htmlが非推奨となっている。
しかし・・・・
http://fumika.jp/nikki/2004/02/xhtml
という感じでIE6が対応していなかったりで
XHTML 1.1でもtext/htmlで提供する人がかなりいます。
http://www.satoshii.org/markup/dtd/xhtml11-msxml …
#また利用するWebサーバがレンタルの場合、変更できない,というケースも多いです。
「これはこれで嫌だ」「そもそも新しいバージョンを追い求めることにそれほど意味はなく,理解してもらえれば良い」などの理由から
よりHTML 4系との互換性を重視したXHTML 1.0 Strictでtext/htmlにして配布する人が多いです。
#ちなみにXHTML 1.1だとAnother HTML lintでmeta要素のhttp-equiv属性で
対処しようとすると,「本来はHTTPヘッダに書くものだ」と言われる。
XHTML 1.0だとそうはならない。
・・・なんか俺はうまくまとめられんな。
とても詳しくありがとうございます。専門の方?
せっかくなんですが、詳しく書いている内容は私には少し早いようです。
しかしこれで勉強になりました。
サーバーはレンタルですが、なにか妥協するのもいやなので
もう少し勉強します。
ありがとうございました。
〆
No.6
- 回答日時:
>>0
HTML検証サービスに関しては次のものが有名です。
http://openlab.ring.gr.jp/k16/htmllint/htmllinte …
とはいっても、この検証さえ通れば無問題というわけでもありませんが。
> 自分の勉強不足なんですが、どうしてもわかりません。
>> # Error Line 78 column 17: there is no attribute "language".
エラー行 78, 17列(文字)目: そんな属性はありません。"language".
Validな文書にするには、要素や属性、その他の予備知識も多く必要になってくるかもしれませんが、そのような意識を持ってHTMLを弄っていれば自然と身に付くはずです。
>>#3-#5
私も詳しいことは認識していないので厳密な回答はできませんが…。
XMLでは、
>> 「内容を持たない要素に対し」「NET 可能開始タグ及び NET を同時に記述」
することが可能だが、XMLとはいえ、これを行なっても正しく解釈できるパーサは殆どないため利用すべきではない。
という意味を含めて、(application/xhtml+xmlとは限らない)XHTML1.0では利用できないことを前提にしている。
と、私は認識しています。
この回答への補足
ご回答ありがとうございます。
お手数おかけしてすみませんでした。
お陰様でバナーを頂くことができました。
「This Page Is Valid XHTML 1.1!」と表示されると何度も見てしまう。
うふふ。
教えて頂いたサイトで検証したところ「よくできました」とされましたが
下記のようなチェック項目が表示されました。
私は余り詳しくないですが、HTTPレスポンスということは
タグには関係してないことなんでしょうか?
【エラーです。】
1: line 87: HTTPレスポンスヘッダに指定されているメディアタイプ text/html は XHTML1.1 には指定しないようにしましょう。 → 解説 143
5: line 87: HTTPレスポンスヘッダに charset 指定が含まれていません。 → 解説 140
特に無理に回答されないくても結構なので、お時間があれば教えて下さい。よろしくお願いします。
No.5
- 回答日時:
>> himajin100000 さん
> 自分もそんなことをどこかで聞いた覚えがあるような気はするのですが出所がはっきりしません。
1.0では下記のように記されています
http://www.doraneko.org/webauth/xhtml10/20000126 …
(C.3 要素最小化と空要素内容 を参照)
http://www.doraneko.org/webauth/xhtml10/20000126 …
(4.3 非空要素については終了タグが必須である を参照)
xhtml1.0 dtdでの script タグに関してはEMPTYではないので、
私は終了タグを省略してはいけないと解釈しています
xhtml1.1ではEMPTYではなくても実質空要素には /> で終えてもよいのかもしれません
(ここは私もよくわかりません)
ただ、仰るようにブラウザ解釈の相違があるので、
w3c勧告との適合性とブラウザ解釈の相違をなくすという意味も込め、
明示的に終了タグを記述するのが望ましいと考えます
ちなみにOperaの最新verでは両方表示ですが、
少し古いverだと後者表示のみのようです
また、仰るようなmimeタイプも関係しているのかもしれませんが
こちらもあまり的を得た文献もなく認識・理解には至っていません
(正直英字文献は苦手なのであまり探すこともしていません)
//
このような議論や意見交換はもちろん良いことですが、
質問者さんへの回答と少し離れてしまっていますので
ここいらで止めておきます
ありがとうございました。
お手数おかけすみません。
詳しく説明して頂きありがとうございます。
お陰様でバナーを張ることができました。
No.4
- 回答日時:
すみません#3のサンプルを変更します。
何を俺は馬鹿なソースを書いているんだorz。結果は変わりませんが。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>てすと</title>
</head>
<body>
<script type="text/javascript" src="foot.js" />
<p>段落1</p>
<script type="text/javascript" src="foot.js"></script>
<p>段落2</p>
</body>
</html>
No.3
- 回答日時:
>ちなみにtype属性が採用されますが、こちらは推奨ではなく"必須"となります
おっとっと。ごめんごめん。そうでしたね。
ところで、当方の後学のために教えてください
><script>タグは<img>や<br>と違って空要素ではないので、
<script ~ />とはできません
必ず<script ~></script>とする必要が出てきます
自分もそんなことをどこかで聞いた覚えがあるような気はするのですが出所がはっきりしません。
特に
http://www.satoshii.org/markup/websgml/valid-xml …
などをみると
>ちなみに、内容を持たない要素というのは、強制空要素だけでなく、たまたま内容を持たない要素 ― 例えば表の中の空のセル<td></td>など ― を含みます。従って、例えば XHTML 1.1 の場合には、次のような記述が行えることになるわけです。
という記述があります。(わざわざ1.1になっているということは1.0では駄目かもしれないけど)
そこで試しに当方で二つのサンプルを作成してみました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script type="text/javascript" src="foot.js" />
<p>段落1</p>
<script type="text/javascript" src="foot.js"></script>
<p>段落2</p>
</body>
</html>
ソースは全く同じで,ファイル名がhoge.htmlおよびhoge.xhtmlとなっており、これをMinefield(Firefox 3.0a3pre)で読み込ませたところ
前者は段落2のみが表示され,後者は両方とも表示されました。
ちなみにOperaではともに両方が表示され,IEでは後者は読み込めませんが、前者は「段落2」のみ表示されました。
#XHTML 1.0 Strictはtext/htmlとtext/xmlの両方が許されているから
その関係なのかな?
No.1
- 回答日時:
A.1.1. XHTML-1.0-Strict
<!ELEMENT script (#PCDATA)>
<!ATTLIST script
id ID #IMPLIED
charset %Charset; #IMPLIED
type %ContentType; #REQUIRED
src %URI; #IMPLIED
defer (defer) #IMPLIED
xml:space (preserve) #FIXED 'preserve'
>
A.1.1. XHTML-1.0-Transitional
<!ELEMENT script (#PCDATA)>
<!ATTLIST script
id ID #IMPLIED
charset %Charset; #IMPLIED
type %ContentType; #REQUIRED
language CDATA #IMPLIED
src %URI; #IMPLIED
defer (defer) #IMPLIED
xml:space (preserve) #FIXED 'preserve'
>
Strictにはlanguage属性が存在しない。
type属性が推奨されていると思う。調べてみてくれ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つのリンクに複数のURLを指定
-
タグについての質問
-
ブラウザの右上にあるボタンを...
-
リロードさせるたびに画像を変...
-
春夏秋冬の季節によって、画像...
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
-
googleドライブで、PDFファイル...
-
HTMLで別PCのフォルダを開く
-
htmlの中にexcelが埋め込むには...
-
Webサイトから、txtファイルを...
-
1つ下の階層のフォルダに相対...
-
POSTしたデータの文字コードがu...
-
URLDownloadToFile でダウンロ...
-
HTMLページが勝手にダウンロー...
-
googleサーチコンソールで、重...
-
フォルダ内の最初のファイル名...
-
テキストファイルで下線を引く
-
エクセルで作成した表のハイパ...
-
css ,videotタグ。ホームページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのリンクに複数のURLを指定
-
window.confirmのタイトル
-
ブラウザの右上にあるボタンを...
-
リンク先を2つ表示させる
-
ページ切り替え時に音を鳴らし...
-
htmlから<a>でpdf表示時にpdf資...
-
リンク先のURLが毎日変わる場合...
-
HTMLで条件によって表示・非表示
-
行番号を指定したリンク
-
テキストアンカーリンクで複数U...
-
objectタグで埋め込んだHTMLの...
-
一つのリンクで、複数のウィン...
-
リロードさせるたびに画像を変...
-
タイトルバーを非表示にできま...
-
別ページを縮小表示
-
ひとつのhtmlでjavascriptとvbs...
-
jQueryプラグイン、サーバー上...
-
現在開いているWEBページを...
-
最新更新日をページに表示させ...
-
リンク先のテキストボックスへ...
おすすめ情報