iモードブラウザ2.0の登場でCHTMLとXHTMLが統合
5/22(金)にdocomoから2009年夏モデル端末が発売された。夏モデルからiモードブラウザが大幅に機能UPするとの噂があったんで、うちの会社でも発売日に即日購入!
使ってみると、想像以上のブラウザスペック・・・。この端末、只者ではないようだ。
PCブラウザとほとんど同じ!
新機種で導入された機能は次の通り。
- Cookie
- Referer
- JavaScript
- フレーム
- 外部CSS
- WMV/Flashビデオ再生
- キャッシュ上限500KB
ここまで来たら、ホントにPCブラウザと変わらない!iモードブラウザがPCブラウザに置き換わったような、まさにそんな感じ。XMLHttpRequestも使えるから、Ajaxも夢じゃない。
キャッシュ上限が若干厳しいように見えるけど、Yahoo!のTOPページの容量が350KB程度であることを考えると、通常のPCサイト閲覧なら問題なさそう。
そして何と言ってもありがたいのがCookieとReferer!docomoはいつから使えるようになるんだろう??と不安になってたけど、遂に対応してくれた。アクセス解析にSEOに・・・と活躍の場は無限。大歓迎する開発者も多いのでは?
タグや属性の変更点
新端末では機能UPに伴って、いろんなタグや属性が追加されている。iモードXHTML2.3からの変更点は、以下の通り。
カテゴリ | タグもしくは属性 |
---|---|
JavaScript | ・scriptタグ ・noscriptタグ ・onclick属性 ・onload属性 ・onunload属性 |
フレーム | ・baseタグのtarget属性 ・aタグのtarget属性 ・framesetタグ ・frameタグ ・iframeタグ |
CSS | ・linkタグ |
フォーム | ・buttonタグ |
その他 | ・hrタグのnoshade属性 ・olタグのstart、type属性 ・aタグのib属性(iモードブラウザで開くURLの指定) ・embedタグ(WindowsMediaファイルの埋め込み) |
新しく追加されたタグや属性は、PCサイト向けのHTMLでもよく見かけるタグや属性がほとんど。
あとは、どのタグでもstyle属性が使用できるようになった(これまではpとかspanとか、一部のタグでのみ、style属性が使用可能だった)。
CHTMLとiモードXHTMLの関係に変化あり
iモードブラウザ2.0から変化したことがもう一つあった。それは、マークアップ言語の垣根がなくなったということ。
これまでのdocomoは、マークアップ言語が「CHTML」と「iモードXHTML」の2種類あって、使用可能なタグ・属性やContent-Typeヘッダが明確に区別されていた。たとえば、次のような感じだ。
- CHTMLではfontタグが使えるが、XHTMLではfontタグが使えない。
- XHTMLではstyle属性が使えるが、CHTMLではstyle属性が使えない。
- CHTMLのContent-Typeヘッダは、「text/html」でなければならない。
- XHTMLのContent-Typeヘッダは、「application/xhtml+xml」でなければならない。
言語仕様だから仕方ないとは思っていたけど、普段よく使うタグや属性に互換性がなかったから、実際、ものすごい不便だった!
そう思っていたら、今回のバージョンアップでは、遂にマークアップ言語の垣根が完全に取り払われた。先ほどの制約は次のように変わった。
- HTMLでもXHTMLでもfontタグが使える。
- HTMLでもXHTMLでもstyle属性が使える。
- HTMLのContent-Typeヘッダは、「text/html」「application/xhtml+xml」のどちらでもよい
- XHTMLのContent-Typeヘッダは、「text/html」「application/xhtml+xml」のどちらでもよい
HTML形式でもXHTML形式でも同じタグ・属性が使用できるようになって、利便性が劇的にUP!これまではどちらかと言えば厳格な仕様だったが、幅広い書式をサポートする柔軟な仕様に改良されたのだ。
絵文字には要注意!
一方、iモード絵文字の書式の1つである「Shift_JIS10進テキスト形式」は、廃止される運命に・・・。
「Shift_JIS10進テキスト形式」は、「」のような書式で、iモード絵文字をShift_JISで表現したときのビットパターンを10進数で表したもの。 が、HTML4.0の仕様によると「&#」の後にはUnicodeのコード値を10進数で表したものを記述することになっていて、国際標準と仕様に食い違いがあった。今回のバージョンアップで、国際標準に合わせるため、一旦廃止したようだ。
5年位前からずっと「非推奨」って書いてあったけど、影響を受けるサイトが多いのかも。
ちなみに、「」のような「Unicode16進テキスト形式」は、HTML4.0の仕様に合致しているから継続して使用可能。
最後に
docomoがマークアップ言語の垣根を取り払い、国際標準に合わせることにしたのは、今後の機能拡張に備えているためなのかもしれない。「CHTML」と「iモードXHTML」とを両立しながら仕様をバージョンアップし続けることは、既に限界に達しつつあったのだろう。このタイミングで言語仕様をスッキリ整理して、過去のしがらみを断ち切ったのは正解かも。
今後追加されていく機能も、HTMLとXHTMLの両方で使用可能になりそうだ。
(参考サイト)