はてなブックマークをSleipnirから登録する
RailsのBookmarkletを考えていて、Sleipnir から はてなブックマーク も登録したいなと常々思っていたので、それを確認してみた。どんな風にやってるのか見てみたら、さっきと同じように、登録ページを表示しているだけだった。ブックマークから、うまくいかないっていらいらしていた俺って... orz。
ということで、「スクリプト」->「スクリプトの新規作成」で次のように書けば良さそうです(グレイアウトしているような場合は、多分スクリプトの実行を許可していない場合かなと。ブラウザの動作を制御できるので、デフォルトでOffになってるのかな...。そもそも、変更したか覚えてない)。
var pnir; var document; var id; function getBookmarkLocation(title, url) { return 'http://b.hatena.ne.jp/add?mode=confirm&title=' + escape(title) + '&url=' + escape(url); } pnir = new ActiveXObject("Sleipnir.API"); id = pnir.GetDocumentID(pnir.ActiveIndex); document = pnir.GetDocumentObject(id); if (document == null) { pnir.MessageBox("Document オブジェクトを作成できません"); } else { // TODO: コードをここに記述してください。 pnir.NewWindow(getBookmarkLocation(document.title, pnir.URL), false); document = null; } pnir = null;
これで、アクティブなタブに対するブックマーク登録画面が開いてくれます(ふと思ったのは、escape() を使っているけど互換性のためなのかな...)。