-ちょっと詳しいモバイルサイトの作り方-XHTML+CSSで一歩進んだモバイルサイトを作るテクニックを幅広く紹介☆2009/02/13/FriXHTML仕様で携帯サイトを作成する際のコンテンツMIMEタイプ切り替え最近では携帯サイトはXHTMLで作るようになってきていますが、そこで指定すべきコンテンツMIMEタイプはどのようにしなければならないか。これはこのブログや書籍をご購入いただいた方はすでにご存じかと思いますが、ドコモの仕様に合わせて「application/xhtml+xml」を指定するということでした。再度説明するとドコモがXHTMLモードになる条件は1サーバーが出力するHTTPヘッダーを「application/xhtml+xml」とする。2metaタグの「content」を「application/xhtml+xml」とする。古い機種によってはエラーになってしまう可能性があること。auやソフトバンクはMIMEタイプを「text/html」としてもXHTMLで動作すること。「application/xhtml+xml」としなければならないのはドコモのFOMAだけであるということ。鑑みると、仕様上「must」でなければならないFOMAを除いては「text/html」でもよい。いう考えもありかと思っています。そこで、ドコモのFOMAのみ「application/xhtml+xml」を出力するPHPで動作するプログラムを作ってみました。(user_agent_docomo.php)まず、ドコモ端末においてmovaとFOMAを判断するプログラムを関数化しました。ユーザエージェントはmovaが「DoCoMo/1.0...」、FOMAが「DoCoMo/2.0...」です。「mova」という文字列を返します。このあたりはPEARライブラリのNet_UserAgent_Mobileを使ってもよいでしょう。(mime_type.php)この結果を受け取り、ドコモのFOMAのみ「application/xhtml+xml」のコンテンツMIMEタイプを返すプログラムの関数は以下。「application/xhtml+xml」という文字列を返します。"text/html";}}?>以上で必要なプログラムはおしまい。適正なコンテンツMIMEが指定されたHTMLとなります。先ほど2つの関数が書かれたファイルをインクルードします。あとはHTTPヘッダーとmetaタグのコンテンツMIMEタイプを指定する部分に、mime_type関数より適正なMIMEタイプを出力します。(cache_control.php)ちなみに、「cache_control」という関数は、キャッシュコントロールを制御するためのmetaタグを適正に出力するというものでおまけ。「include」で読んでいる「cache_control.php」は以下のようなソースコードになっています。キャッシュOFFとONの切り替えができるのと、HTMLとXHTMLのmetaタグの切り替え機能がついています。cache_control('on','xhtml')とすると、キャッシュオフのmetaタグを出力するとともに、XHTML用のmetaタグを出力します。cache_control('on','html')とすれば、HTML用のmetaタグを出力します。cache_control('off','***')とすれば、キャッシュオフのmetaタグを出力しないというよりmetaタグそのものを出力しません。"";}}?>なお、ソースコードを保存するのが面倒という方は、こちらからダウンロードできますので。[EDIT]ありがとうございます。参考になる記事のご紹介ありがとうございます。これからも有益な記事の投稿、楽しみにしています。動画再生についてkojiさん書き込みありがとうございます。本のご購入ありがとうございます。動画については、すみませんが私はあまり知識がありません。以下の記事などを参考にされてみてはいかがでしょうか。[EDIT]動画再生についてはじめまして。いつも拝見させてもらってます。このサイトがきっかけとなり3キャリア対応のモバイルサイトを作ることができました。|プロフィールAuthor:shibaフリーのマークアップエンジニア。PC及び携帯サイト制作のほか、デコメ、SEO、LPO、アフィリエイトなど、WEBサイト全般の業務に携わる。TypeなどのCMSテンプレートカスタマイズ、PHPプログラミング等を経験。3年ほど前から携帯サイト制作にシフト。古くから培ってきたコーディング技術とケータイ世代に生きた若さという空回りな強みをあわせ持つ。HTML/CSSリファレンスサイトを別に運営。HTMLタグボード:http://www.dspt.net/はじめての方へ当ブログは以下のような方が対象です。初心者にはちょっと難しい内容かもしれません。2008/10)お問い合わせブログ全般に関するご質問などはこちらからお問い合わせ下さい。(08/04)お久しぶりです。