- ベストアンサー
xhtml 結局head内はどう記述したら?!
まったくの素人から手探りで始めて、いくつかのサイトを作ってきました。 ネットで解説サイトをいくつも回って仕入れた若干の知識だけがすべてで、あとは実践あるのみ、試行錯誤の連続です。 現在作っているサイトに使っているJavaascriptが、Win+IE6.0 Mac+IE/Safari で動きません。 Javascript自体には問題がありません。 ふと知人に指摘されたのですが、私のサイトはxhtml+cssで書かれています。 head内上部の文書方宣言等の部分は、わけがわかっていて自分で選択したわけではなく、参考にしたいくつかの解説サイトにあったものをそのまま使っています。 もしかしたら、ここに問題があるのではないかと思うのです。 この際一からやってみようと教本を購入したものの、「<?xml version="1.0" encoding="utf-8"?>を冒頭につけろ」と書かれているかと思えば、次のページでは「しかしコレをつけるとIEでは正しく読み込まれない」と書いてあり、まったく参考になりません。 サイトを巡ってみましたが、いまのところ「こう記述しておけば問題なし」という回答は得られていません。 結局、冒頭には何を記述したらいいんでしょうか? ちなみに、現在作りかけの私のサイトは、 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>cottonfeel</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> で始まっています。 webに関して深い知識があるわけではなく、ですので「あえてコレを使う」という意思はない自分に、一番一般的で記述方法を教えていただけないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「ブログ」カテゴリに対する投稿のため、質問者様のサイトがブログであるとの前提で記述します。 ANo.2氏の回答に同意。 それでも無理やり「一般的」ということなら以下のような感じでしょうか。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=****" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="content-script-type" content="text/javascript" /> <title>cottonfeel</title> </head> (以下略) **** には任意の値が入ります。 質問文では「UTF-8」となっていますが、本当にUTF-8でエンコードされていますか?(テンプレの初期値はUTF-8でしたか?) たとえば文字コードがEUC-JPの場合にUTF-8を明示すると文字化けの原因となり得ます。 元々 UTF-8 であれば問題なし。 そうでないのならば、テンプレの記述のままにしておいてください。 <meta http-equiv="content-style-type" content="text/css" /> で、使用されるスタイルシート言語が CSS であることを明示します。 <meta http-equiv="content-script-type" content="text/javascript" /> で、使用されるスクリプト言語が JavaScript であることを明示します。 XML宣言を省いているのは、ANo.2氏が回答している理由によります。 >「しかしコレをつけるとIEでは正しく読み込まれない」 この説明では、何が正しく読み込まれず結果としてどうなるかが意味不明ですね…。 Strict ではなく Transitional であるのは、一般的なブログであれば広告表示用のタグが自動挿入され、それはほとんどの場合広告をクリック時(タイプ)に別ウィンドウまたは別タブを開きますが、Strict ではこのような解釈をする属性を破棄しているためです。 (矛盾が生じるから、Transitional にしておきましょう、ということ) …ここまで書いておいてなんですが、主たる問題点が「Javaascriptが、Win+IE6.0 Mac+IE/Safari で動きません」であるならば、「JavaScript」カテゴリで質問し直したほうがいいのでは? その際には、ソースを提示してください。
その他の回答 (3)
- xenotactic
- ベストアンサー率54% (96/175)
他にCSSを使いました、JavaScriptを使いました、 主要内容はこんな感じです、といったmetaタグを入れるといいと思います。 私の意見としては、#1のでは不足しすぎです。 参考 http://www.tohoho-web.com/html/meta.htm なお、xhtmlなので閉じタグの代わりに~/>で閉じるようにしてください。
お礼
参考サイト、ありがとうございます。さっそく行ってみます。
- Muller3
- ベストアンサー率81% (800/979)
xml宣言とかDOCTYPE宣言は、「私はこのドキュメントをこの仕様(規格)に合わせて書いたから、表示ちゃんとこれでしてね」とブラウザに教えるものですから、どれが一般的というものではなくて、「自分がどのタイプに合わせてドキュメントを書いているか」という話のはずなのですが。 xml宣言(<?xml version="1.0" encoding="utf-8"?>)はXHTML文書なら必須ですが、IE6の場合、次に来るDOCTYPE宣言で「標準準拠モード」を指定しWeb標準に準拠した文章を折角書いても、この宣言がDOCTYPE宣言より前にあることで問答無用に「後方互換モード」と認識してしまうバグがあるのです。でも文字コードがutf-8の場合はxml宣言はなくてもいいことになっていますから、今回の場合metaでutf-8を指定されてるので、書かなくてもいいということになります。(http://www.kanzaki.com/docs/html/xhtml1.html) DOCTYPE宣言(<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)は、おおまかに言えばブラウザに「後方互換モード」で読んでもらうか、「標準準拠モード」で読んでもらうかを指示するものです。XHTMLであれば「後方互換モード」はバグによるもの以外ありえないので、「標準準拠モード」基準で、あとはXHTML 1.0なのかXHTML 1.1なのか、strictなのかTransitionalなのかということになりますが…。 お調べになってみて下さい。 StrictやTransitionalの意味とか。 http://www.tagindex.com/html_tag/basic/doctype.html しかし、Javascriptはブラウザやそのバージョンによって使える関数が違ったりしますから、どんなブラウザでも動くように、Javascriptの方を変える(代替案を探す)必要があるのかも。特にSafariやMACIEで動作しない場合は。※IE6は後方互換のバグが原因ということもあるかも
お礼
ありがとうございます。がんばります。 しかしJavascriptのほうは、公開されているものを使わせていただいている段階で、こちらをいじれるようになるのはいつのことか・・・。
- 123isao
- ベストアンサー率54% (186/341)
DreamWeaverでXHTML1.0 Transitionalで新規作成した場合のものです↓。私はこれで10サイトくらい作っています。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>無題ドキュメント</title> </head> <body> </body> </html>
お礼
なるほどです。 必要最低限の記述、ということですよね? とても参考になります。 ありがとうございました!
お礼
いろいろありがとうございます。 デジタルライフの中で該当しそうなのが「ブログ」だけだったのでコチラで質問をしてしまいました。JSカテがあることには気がつかず、申し訳ないです。 とりあえず一般的な書き方を今から覚えていくところですので、サンプルをいただけて本当に助かりました。 精進します。