Amazon短縮URLをクリップボードにコピーするJetpackFeatureをつくってみた
xpconnectってなんだろう、クリップボードにアクセスできるのかなエントリー。
インストールした後にAmazonの商品ページへいくとステータスバーにアイコンが表示されるので、それをクリックすると商品の短縮URLがクリップボードにコピーされます。
// ==JetpackFeature== // @name amazon_short_url // @namespace http://d.hatena.ne.jp/Cherenkov/ // @include http://www.amazon.* // ==/JetpackFeature== jetpack.tabs.onReady(function(doc) { if(!/^www\.amazon\./.test(doc.location.host)) return false; if (doc.getElementById("ASIN")) { var asin = doc.getElementById("ASIN").value; jetpack.statusBar.append({ html: '<img src="http://www.amazon.co.jp/favicon.ico"/>', width: 16, onReady: function(widget){ $(widget).click(function(){ var host = (/www\.amazon\.co\.jp/.test(doc.location.host)) ? "amazon.jp" : doc.location.host.replace(/www\./,''); var href = "http://" + host +"/dp/" + asin; jetpack.notifications.show("copy!"); var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"] .getService(Components.interfaces.nsIClipboardHelper); clipboard.copyString(href); }); } }); } });
インストール
問題点
- 更新するたびにステータスバーにアイコンがappendされる。
- タブを切り替えてAmazon以外のページになったときもステータスバーにアイコンが表示される。
まとめ
Xなんちゃらをつかって クリップボードへコピーができることを確認できた。タブごとのコンテンツに合わせた処理はどうやるんだー。