DraftPad HacksにWebDelegateについて詳しい解説が来ました

その筋の人しかワクワクできないネタです。


WebDelegate 4 | DraftPad Hacks
もったいぶっても仕方ないからさっそく本題に入ろう。load コールバックが実行される時、DraftPad は引数として Assist URL のクエリーパラメーターを JavaScript オブジェク...

WebDelegateの謎を暴くシリーズ。今回はアシストを作る上で貴重な資料です。すべてが初見。WebDelegateを使って本文加工をするとき、今まで手探り状態でした。


自分のブログ名を一括削除するDraftPadアシスト Eraser
ブログを紹介するときに使っているブックマークレット、BlogQuoteやリンク作成。常用してます。DraftPadに貼り付けて、iHatenaSyncで投稿。はてなダイアリーへの記事が、朝の通勤時間で...
僕が見つけたのはdraftpad.close、insert、replaceの3つのメソッド。これまでは、この組み合わせでアシストを作ってきました。すると、表現しきれない部分がある。イレギュラーな使い方だから諦めていたんですけど、やはり隠しコマンドがあった。


 ・draftpad.replaceCurrent(text) メモせずにはいらないッ! そうなんです。選択範囲を置き換えるのは何とか出来ても、カーソル行を置き換える方法は持ってなかった。でも、このreplaceCurrentで出来るんです。ありがたやー。
 ・draftpad.title(text) WebViewのタイトルバーを書き換えたいとき、リアルタイムの反映が出来なくて困ってました。でも、titleを使えばブレークスルー出来そう。
 ・draftpad.jump(url) はっはっは。こういう解析ってどうするんだろう? 内蔵ブラウザからSafariにジャンプするためのメソッド。これは羽ばたけます。


楽しいので手始めに、DarkRoomあたりの改造をしてみました。
新しいDraftPad用DarkRoomはリアルタイムで文字数が出ます