トップ 最新 追記
RSS feed

ただのにっき


2010-03-26(金) [長年日記]

tDiary: 更新ページと設定ページにjQuery

というわけで(どういうわけで?)、なんとなく勘どころがわかってきたので、tDiaryの更新ページと設定ページにjQueryを読み込むようにした。googleapiから1.4の最新を持ってくるようにしてある。あと、jsディレクトリを掘って00default.jsを設置(まだ中身は空っぽ)。

まずは日記更新時や設定変更時のUI改善に取り組みたい所存。

なお、日記表示ページにはまだ入れない。あんまり動的ページにする意味なさそうだし、そういう細工を入れすぎるとSEO的にも不利だし。もっとも以前から、リンク元はAjaxにすべきだという話もあったので、考えどころではある。

Tags: tDiary

2010-03-24(水) [長年日記]

Webkitではイベント系の属性をJavaScriptから書き換えられない(の?)

最近まじめにAjaxプログラミングを始めてですね(今ごろかいな)、jQueryで楽ができる時代から始めるとハードル低くていいっすよ、ホント。

[スクリーンショット]paymemoの画面 で、だいぶ前から自分の浪費っぷりを可視化しないといかんなーと思っていたので、それを題材に「単に使ったお金を記録するだけのWebアプリ」を作ってみている。GETでデータを取ってきて、POSTでデータを投げるのでいい題材。これをiPhone用のビジュアルにすれば、日常的に使えるだろう。たぶん自分にしか実用性がないけど、ソースはgithubにて(→paymemo)。サーバサイドでいまだに「require 'cgi'」とかしてるのをなんとかしろって感じだが。もちろんドキュメントはない。

Firefox上での開発はまったくスムーズでたいした困難もなかったのだが、これを肝心のiPhone上で実行すると追加ができない。Ajax使ってるはずなのに画面遷移が起きちゃう。試しにChromeでやってみたら同じ現象なので、Webkitだけの問題らしい。

いろいろ(中略)調べてみたところ、Submitボタンにあとから「onclick」を追加していたためだとわかった。WebkitだとこれがDOM上に反映されない。onclickを食ってなければ画面遷移が起きるのは当たり前やねぇ。ChromeにもFirebugが提供されてて助かった。他にも、formにonsubmit属性を追加しようとしてもダメだったので、Webkitではイベント系の属性は操作できないのかな。

こういう非互換情報がうまく見つけられないのは、たぶんもう、誰もonclickとか使ってないからかも知れない。当然、回避策はbindを使ってイベントハンドラを登録する方法なわけで、jQueryではこっちが主流なんだろう。なお、わざわざイベントハンドラを動的追加しているのは同じページ内に複数のお財布を置きたいからなので、「初めからonclickをハードコーディングしておけば?」というのはナシ(やればできるのはわかってるけど)。

で、さっそく使い始めてはや数日。想定どおり自分の浪費っぷりが目に見えて、かなりビビっているのであった。いやー、これは良くないな。ひどいものを作ってしまった。

Tags: ajax iphone
本日のツッコミ(全4件) [ツッコミを入れる]

os0x [jQueryのattrは内部的には色々やってますが、 .attr('onclick','return addNewI..]

ただただし [うわ、わざわざコードまで追っていただいてありがとうございます! イベントを文字列として設定すると再解釈してくれない..]

os0x [element.onclick = element.setAttribute('onclick', の違いです。前..]

ただただし [いろいろ試してみて理解しました(まだ「なんとなく」ですけど)。 DOMに反映されるからといって優先されるわけでもな..]


2010-03-23(火) [長年日記]

川崎 4-0 メルボルン@等々力競技場

画像の説明

3日前に0-4で負けたチームが、4-0で勝つとはなぁ。少なく とも前半は別のチームみたいだった。

一人少なくなった後半は押される場面も多かったけど、よくしのいだ。 今回も監督の決断が遅くて、見ている方はヒヤヒヤしたけど。というか、 こういう試合は、早めの交代がセオリーじゃないのかよー、高畠さん。

Tags: frontale

トップ 最新 追記
RSS feed