• ベストアンサー

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に関して深い知識があるわけではなく、ですので「あえてコレを使う」という意思はない自分に、一番一般的で記述方法を教えていただけないでしょうか?

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

  • ベストアンサー
回答No.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」カテゴリで質問し直したほうがいいのでは? その際には、ソースを提示してください。

cottonfeel
質問者

お礼

いろいろありがとうございます。 デジタルライフの中で該当しそうなのが「ブログ」だけだったのでコチラで質問をしてしまいました。JSカテがあることには気がつかず、申し訳ないです。 とりあえず一般的な書き方を今から覚えていくところですので、サンプルをいただけて本当に助かりました。 精進します。 

その他の回答 (3)

回答No.3

他にCSSを使いました、JavaScriptを使いました、 主要内容はこんな感じです、といったmetaタグを入れるといいと思います。 私の意見としては、#1のでは不足しすぎです。 参考 http://www.tohoho-web.com/html/meta.htm なお、xhtmlなので閉じタグの代わりに~/>で閉じるようにしてください。

cottonfeel
質問者

お礼

参考サイト、ありがとうございます。さっそく行ってみます。

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.2

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は後方互換のバグが原因ということもあるかも

cottonfeel
質問者

お礼

ありがとうございます。がんばります。 しかしJavascriptのほうは、公開されているものを使わせていただいている段階で、こちらをいじれるようになるのはいつのことか・・・。

  • 123isao
  • ベストアンサー率54% (186/341)
回答No.1

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>

cottonfeel
質問者

お礼

なるほどです。 必要最低限の記述、ということですよね? とても参考になります。 ありがとうございました!

関連するQ&A

  • XHTMLのIEでの表示

    PHPを使ってXHTMLを出力しています。 下記のようなソースを使った場合、IE系ブラウザでXMLツリーが表示されてしまいます。IE8beta2、IE7、IE5で確認しています。 Google Chrome、Opera、FireFox 3ではこのような問題は起きていません。 どのようにすれば解決できるでしょうか。XML宣言を除けば一応表示はされたのですが。後方互換モードのことなどもIE7で改善されたとのことなので、混乱しています。 <?xml version="1.0" encoding="UTF-8"?> <!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> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> <body> </body> </html>

  • html内の記述、これは正しいですか?

    (該当html) <meta name="keywords" content="キーワード1,キーワード2,キーワード3" lang="ja" xml:lang="ja" /> と <meta name="description" content="テキストテキストテキスト" lang="ja" xml:lang="ja" /> (疑問点) 1、”lang="ja" xml:lang="ja"”の記述はここ(keywords、description箇所)に必要でしょうか? 2、(必要な場合)”lang="ja" xml:lang="ja"”の記述位置は適切でしょうか? ※<meta name="description" xml:lang="ja" lang="ja" content="テキストテキスト" /> この記述(言語コード箇所が前方にある)は検索すると出てきたのですが、該当htmlのように テキスト後(属性の記述後)に記述があってもOK? ------------------------- SEOを考慮したdescription等のテキスト(属性の記述)を初めての制作者に渡したところ、冒頭の ような記述の仕方でした。初めて見た(これまではこの位置に言語コード<meta name="description" content="テキスト" />) やり方です。よろしくお願いいたします。 (補足) 当該ページ(サイト)の冒頭の宣言は、以下の通りです。 <!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" lang="ja-JP" xml:lang="ja-JP" dir="ltr">

    • ベストアンサー
    • HTML
  • 次のxhtml文

    <?xml version="1.0" encoding="EUC-JP"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=EUC-JP" /> <title></title> </head> <body> <address></address> </body> </html> において <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> を <html xmlns="http://www.w3.org/1999/xhtml" lang="ja"> とするのは正式には正しいことなのでしょうか?

    • ベストアンサー
    • XML
  • xhtml2.0をhtmlに変換したい

    xhtml2.0をhtmlに変換したいと考えています。 ---------------- [ 共通 essay.xsl ] <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" encoding="UTF-8" /> <xsl:template match="/"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title><xsl:value-of select="html/head/title" /></title> </head> <body> <xsl:value-of select="html/head/title" /> </body> </html> </xsl:template> 15 </xsl:stylesheet> ----------------- <例1> [偽物xhtml2.xml] <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="essay.xsl" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd"> <html xml:lang="ja"> <head> <title>偽xhtml2.0</title> <meta property="keywords" xml:lang="ja">xhtml2.0</meta> <meta property="dc:dreated" content="2008-01-06" /> </head> <body> <h>テスト</h> <p>偽xhtml2.0</p> </body> </html> --------------------------- <結果> 「偽xhtml2.0」と表示される ------------------------ 上記のように、xmlns無しで書いた、偽物xml2.0は変換できるのですが、下記の ------------------------------ <正式xhtml2.xml> <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="essay.xsl" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd"> <html xmlns="http://www.w3.org/2002/06/xhtml2/" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/ http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd" > <head> <title>正式xhtml2.0</title> <meta property="keywords" xml:lang="ja">xhtml2.0</meta> <meta property="dc:dreated" content="2008-01-06" /> </head> <body> <h>テスト</h> <p>正式xhtml2.0</p> </body> </html> ------ 正式な形のxhtml2.0を共通xsltで変換しようとすると、うまくいきません。名前空間あたりが怪しいと思うのですが、どうすればうまく変換できるでしょうか?

    • 締切済み
    • XML
  • 文字コードについて

    <?xml version="1.0" encoding="Shift_JIS" ?> <!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" lang="ja" xml:lang="ja" id="sixapart-standard"> <head> <meta http-equiv="Content-Type" content="text/html" charset="Shift_JIS" /> </head> というように文字コード指定をしているのですが、なぜか文字コードがUTFになり、shift jisにすると文字化けしてしまいます。 どなたかアドバイスお願いいたします。

    • ベストアンサー
    • HTML
  • XHTML meta属性 文字化け

    XHTMLを勉強しています。 以下のように記述して表示すると タイトルの部分が文字化けします。 何故でしょうか <?xml version="1.0" encoding="utf-8"?> <!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=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>ホームページの作り方</title> <meta name="description" content="初心者のためのホームページテスト" /> <meta name="keywords" content="ホームページ,作成,初心者" /> </head> <body> テスト </body> </html>

    • ベストアンサー
    • HTML
  • XHTMLの文字コードのEUC-JPの文字化け

    いつもはHTML4.01で作業をしていて XHTMLはどうも不慣れなせいか 今、外注が作成したHPを修正していて 文字コードをEUC-JPにどうしても変更しなければならないのですが それがうまくいかず、文字化けが発生してます。 <!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=UTF-8" /> を <?xml version="1.0" encoding="euc-jp"?> <!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=euc-jp" /> このように設定したら文字化けが発生しました。 どのように設定したら文字化けがなくなりますか?

  • 作成したCSSがfirefoxでは見れますがIEでは反映されません

    私が今作成しているCSSのサイトなのですが。。 firefoxでチェックしながらはちゃんとみれていたのですが、最終チェックでIEでみるとCSSが反映されずに表記されてどうにも困っています。 原因なんなのでしょうか? お詳しい方お教えくださいませ。 -------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <!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> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-style-type" content="text/css" /> <title>museo international</title> <link rel="stylesheet" type="text/css " href="css/index.css" media="screen.print" /> -------------------------------------------------------------- なにか違う所がありますか?どなたかお教えください。 困っています。

  • i-modeでxhtmlをみるには、、

    Perlからxhtmlをはきだして、i-modeで見れるようにしたいのですが、 表示がうまくいきません。 ヘッダーは Content-type: text/html; charset=Shift_JIS <?xml version="1.0" encoding="Shift_JIS"?> <!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=Shift_JIS"> こんな感じです。 「Content-type: text/html; charset=Shift_JIS」の部分を 「Content-Type: application/xhtml+xml」や 「Content-Type: application/xhtml」等でやっても表示されませんでした。 もし分かる方がいましたら教えてください。 宜しくお願いします。

    • 締切済み
    • XML
  • phpファイルにxhtmlを適用する方法

    phpファイルにxhtmlを適用する方法 phpファイル(index.php)でモバイルサイトを作成したのですがドコモで背景色や文字サイズなどが反映されません。 【phpファイル(index.php)】 <?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n" ?><!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" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <?php header("Content-type: application/xhtml+xml;charset=utf-8"); ?> 【.htaccess】 AddType application/xhtml+xml .php とそれぞれ記述しているのですが当方の携帯sh906iでは反映されません。 どこが悪いのでしょうか・・・ HP製作会社に依頼して作ってもらったのですが、反映されない事を伝えるとその後音信不通になっていて どうにかこの辺りの知識まで来たのですがどこが悪いのか分かりません。 HP製作会社からいつか連絡が来るんでしょうがやりとりをしている感じではあまり知識が無いようで 現在も答えないのではなく答えられないんだと思います。。。。 どうかお力をお貸し下さい。