jquery mobileのレンダリングではまった

*この記事はjquery mobile のバージョンalpha 3に基づいて書いています。
2009年頃にGoogle App Engineを利用して個人的に使うために作ったライフログ「なにした?」

Archive for the ‘Google App Engine’ Category
http://blog.nal-6295.biz/?cat=128

をjquery mobile対応すべくやり始めていたのだが、後から挿し込むデータのレンダリングではまった。
基本、HTMLだけ書いとけばいいよ的なjQuery mobileはレンダリングはどうも$(document).ready()なタイミングで行う仕様らしく、しかも後から任意のタイミングでレンダリングしなおすためのメソッドも提供されていないらしく、ちょっと考え方を変える必要がありそうだ。
さいわい、djangoのテンプレートの部分とPythonのロジックの部分が分離されているので、urlマッピングとテンプレートの部分を新しく書きなおすだけで良さそう。
ま、そのうちやりましょう。

FacebookTwitterHatenaTumblr共有

久しぶりにアップデートしてみた

妻の要望で、DELボタン押下時のメッセージを

本当に削除しますか?

から

○:○の○○を本当に削除しますか?

に変更した。

変更は簡単で、DJangoのテンプレート中にある

'本当に削除しますか?'

の部分を

'本当に{{時間に相当するメンバ|"H:i"}} の {{行動に相当するメンバ|escape}}を削除しますか?'

に変えただけ。

f:id:NAL-6295:20090920170128p:image

MAP表示系をもうちょっと改善予定

明日の朝には

・マップにピンを刺すようにする。

・1日の行動ルートを描く

ようにして、リリースしたい。

1日の行動ルートを描くはちょっと今は無理そう。

ちゃんと、APIを使えるように申請してからやります。

マップにピンはすでに刺せるようにしました。

Google Gearsのlocation APIにも対応してみた。

というわけで、まだiPhone OS 3.0でテストできていないけど、Geolocation APIに対応してみた。

iPhone OS 3.0にアップデートしたらテストするつもり。

一応、FireFox3.0.1+geodeアドインやFireFox3.5bといったGeolocation APIに対応したブラウザでも動作します。

Geolocation APIに対応してみた – NAL-6295の舌先三寸

というわけで、Geolocation APIを利用できるブラウザが、

iPhone OS3.0のmobile safari

FireFox3+geode

その他ブラウザ+Google Gears

になりました。

ちなみに、longitudeをlongtitudeとコーディングしていたらしくテストでエラーが出ていたので、そこも修正しました。

ライフログサービス「なにした?」

http://easylifelog.appspot.com

試してみてください。

f:id:NAL-6295:20090618010534j:image

f:id:NAL-6295:20090618010541j:image

f:id:NAL-6295:20090618010545j:image

Geolocation APIに対応してみた

iPhone OS3.0のMobile SafariからHTML5のGeolocation APIに対応する。

http://www.w3.org/TR/geolocation-API/

iPhone OS3.0のMobile SafariからHTML5のGeolocation APIに対応する – NAL-6295の舌先三寸

というわけで、まだiPhone OS 3.0でテストできていないけど、Geolocation APIに対応してみた。

iPhone OS 3.0にアップデートしたらテストするつもり。

一応、FireFox3.0.1+geodeアドインやFireFox3.5bといったGeolocation APIに対応したブラウザでも動作します。

終了時間も記録できるようにした

昨日のスクリーンショットの時点では登録した時間の記録しかできなかったが、終了時間も記録できるようにしてみました。

あと備考が入力されている時だけ、2行構成になるように修正してみました。

ちなみに、動作確認をする時、MacBookを利用しているときはiPhoneシミュレータを利用していますが、Type Pで開発している時は、Choromeやsafariといった、webkitを使っているブラウザを利用して確認しています。

ほぼ、同じ表示になりますので、簡易的な確認はできます。

最終的にはアップロードした後、実機で確認しています。

今のところ妻にヘビーユーザとして使ってもらうために作っている感じです。

テストしてみたいという人はこちらから

iPhone及びwebkitを採用しているブラウザ(safari,chrome等)で、期待した動作になるようにしてあります。

f:id:NAL-6295:20090524163505j:image

f:id:NAL-6295:20090524164035j:image

webapp.WSGIApplicationでのURLマッピングを誤解していた

今、必要だったので、2アクションで行動履歴が取れるウェブアプリを作っているのだけれど、JQueryを活用して、Ajax的な動作を盛り込もうと試行錯誤しているところ。

スクリプトファイルを

index.py(通常の表示)

delete.py(削除処理を行う)

list.py(履歴表示を行う)

の3つにわけた上で、index.pyにimportしindex.pyのmainでwebapp.WSGIApplicationを利用してURLマッピングしていたのだけれど、どうもindex以外は無反応だった。

しかし、そもそも、この考え方がおかしかった。

リクエストはそれぞれ独立しているので、それぞれのスクリプトのmainが実行されるわけで、delete.pyがリクエストされるような時にindex.pyが呼ばれるわけがない。

そこで、それぞれのスクリプトファイルのmainにそれぞれwebapp.WSGIApplicationを利用してマッピングしたら無事動作するようになった。

今思えば、どうでも良いところで1時間もはまっていた。

複数のスクリプトファイルにする事と、Ajax化する事を同時に行っていたことで、何が原因で動かないのか分かりづらい状況になっていた。

やはり、同時に複数の事をするべきではないという事だ。