[[開発日記]] *携帯電話(端末)でPukiWikiを閲覧 -- [[ぱんだ]] 参考:[[pukiwiki:PukiWiki/ケータイでPukiWiki]] *携帯電話(端末)でPukiWikiを閲覧 -- [[ぱんだ]] [#a71855e9] 参考:[[official:PukiWiki/ケータイでPukiWiki]] PukiWiki/1.4に、携帯電話向けのコードを組み入れました。 [[nitoyon>pukiwiki:nitoyon]]さんの書かれたコードを大いに参考にしています。感謝。 -pukiwiki.ini.phpを共通部と端末固有部に分離しました。 -init.php内で、HTTP_USER_AGENTの内容に応じて端末固有部を読み替える仕掛けを導入し、ひとつのスクリプトで各端末用のHTMLを出力できるようにしました。 - pukiwiki.ini.phpに以下の設定を追加しました。 ///////////////////////////////////////////////// // ユーザーエージェント対応設定 // デフォルト $user_agent = array('name'=>'default'); $agents = array( // 携帯端末 array('name'=>'jphone','pattern'=>'#^J-PHONE.+(Profile/)?#'), array('name'=>'i_mode','pattern'=>'#DoCoMo/(1\.0)/[^/]+/c([0-9]+)#'), array('name'=>'i_mode','pattern'=>'#DoCoMo/(2\.0) [^(]+\(c([0-9]+)#'), ); -端末固有設定ファイルを追加しました。 -- default.ini.php : デフォルト設定 -- i_mode.ini.php : iモード端末用設定 -- jphone.ini.php : J-PHONE端末用設定 -端末固有設定内に、「リンク表示をコンパクトにする」設定を追加しました。 ///////////////////////////////////////////////// // リンク表示をコンパクトにする $link_compact = 0; この設定を1にすると、make_pagelink()の出力が携帯端末用に簡略化されます。 -携帯端末用スキンを追加しました。 --skin/keitai.skin.ja.php --画像は容量の予測や端末ごとの対応状況等、判別が面倒なので、前後の<div>,<a>タグもろとも削除し、alt="..."のテキストだけを抽出して表示するようにしています。 **ToDo/Wish/Bugs **ToDo/Wish/Bugs [#meedcab9] -本格的にやるなら[[ソース再構築1]]に倣ってconvert_html()をクラス(TranslateEngine)化し、端末ごとに用意すべき -EZweb対応 -- 情報収集 --そもそも可能なのかどうか。HDMLってなに?HTMLと違うの? ---HDMLですが、基本的にはHTMLとたいして違いはないです。Apacheでは.htaccessで次のような設定が必要です。-- [[reimy]] SIZE(10){2003-02-21 (金) 18:36:47} AddType text/x-hdml;charset=EUC-JP .hdml AddType text/vnd.wap.wml;charset=EUC-JP .wml AddHandler server-parsed .hdml AddType image/bmp .bmp AddType image/png .png ---今から HDML ベースの EZweb への対応に頭を悩ませるのは得策じゃないと思います。EZweb には WAP1, WAP2 の2バージョンがあり、au の現行の 1100, 3000, 5000 シリーズは WAP2 端末です。WAP2 は XHTML Basic が基本になりますので、そっちの方向で考えれば十分だと思います。WAP1 端末でも proxy が HDML に変換してくれるので、ある程度は読めますし。 ---ふむふむ。EZwebのWAP2って、FOMAのXHTMLと互換性はあるのかなあ? [[FOMA XHTML:http://www.nttdocomo.co.jp/p_s/imode/xhtml/index.html]] -- [[reimy]] SIZE(10){2003-02-21 (金) 23:29:24} ---むしろどの程度 DoCoMo がまともに XHTML 準拠になっているかって方が気になります。とりあえず両者とも文字コードは sjis 前提(FOMA は utf-8 も対応、EZweb は proxy が sjis に変換してくれるが、変換が正しく行われるとは限らない)で、FOMA は PNG 非対応です。 -その他、PDAなどの固有設定があれば収集 -端末固有設定はagent/ディレクトリに入れたほうがいい? -[[pear/Net_UserAgent_Mobile>http://pear.php.net/package-info.php?pacid=180]]はどうか? -textareaを二つ使用する関係で、ページテキストの容量が端末容量の半分以下でないとうまく編集できない --&cmd=addへのリンクを用意するといいかも。 -タグの途中で切れるのは何とかしないと。 -accesskeyでページ先頭/末尾へジャンプするようにできないか --<h1~h3>のところの<a>タグにaccesskeyを設定すればとりあえず先頭へは移動できますが。末尾に飛ぶのも必要かなぁ。 -タイトル表示/PukiWikiのバージョン/コピーライト表記 --バージョンは"PukiWiki/1.4"とだけ表示してコピーライト表示プラグイン(作る)へリンクを張る?