iPhone 用のはてなブックマークアプリ(はてなぶっくまーく for iPhone)は常用しているお気に入りアプリです。Safari 用のブックマークレットもあり、現在見ているページをはてブアプリに飛ばして簡単にブックマークを閲覧したり登録したりできて便利です。
ところが!
私は iCloud を使って iPhone, iPad, MacBook Air の間で Safari のブックマークを共有しています。どのデバイスでも同じブックマークが使えます。それゆえ、前述のはてブアプリ用のブックマークレットが問題になります。
(1) iPad では iPad 用のはてブアプリ(はてなブックマーク for iPad)があるのですが、そこには飛びません。ユニバーサルアプリじゃないからURLスキームが異なるようです。解決策として iPhone 用のはてブアプリを入れればOKなのですが、iPad で iPhone アプリを使うなんて解像度がしょぼいので嫌です。
(2) MacBook の Safari では使えません(アプリがないから)。まあこれは仕方ありません。
はてな謹製のブックマークレットは単に必要な情報をURLスキーム「hatenabookmark:」に投げてるだけなのでデバイスによる分岐を行えば幸せになれそうです。
(1) iPad のときには iPad 用はてブアプリのURLスキームに投げたいところですが、URLスキームが分かりません。調べる気力がないので iPad のときは Web に投げることにします。
(2) MacBook 等の iOS 以外のときも同様に Web に投げます。
ということで、iPhone のときは今まで通りアプリに投げ、そうでないときは Web に投げるように書き換えました。Web は閲覧ページへ飛びます。
iPad アプリのURLスキームが判明したらそっちへ飛ばすように修正する予定です。
ユニバーサルはてブ Bookmarklet
javascript:(function(){ if(navigator.userAgent.match(/iPhone/i)) { location.href="hatenabookmark:/entry?url=" +encodeURIComponent(location.href) +"&title="+encodeURIComponent(document.title) +"&backurl="+encodeURIComponent(location.href) +"&backtitle="+encodeURIComponent("Safari"); }else{ location.href="http://b.hatena.ne.jp/entry?url=" +encodeURIComponent(location.href); } })()
Safari に登録されているはてなブックマークのブックマークレットのURL部分を上記で置き換えればOK。