Google Bookmarks のエントリ追加時にラベルをクリックで入力する
環境
- Firefox 3.5.2
- Greasemonkey 0.8.20090123.1
問題
Google Bookmarks のエントリ追加時に、既存のラベルをキーボードから入力するのが面倒。
解決方法
下記の Firefox Greasemonkey スクリプトを登録しておくと、エントリ追加時に既存ラベルのリンクが表示される。
リンクをクリックするとラベルが入力欄へ追加される。
// ==UserScript== // @name Google Bookmarks Add Helper // @namespace http://foldrr/google_bookmarks_label_helper // @include http://www.google.com/bookmarks/mark?op=add* // ==/UserScript== (function(){ function xpath(query) { var results = []; var nodes = document.evaluate(query, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for(var i = 0, n = nodes.snapshotLength; i < n; i++){ results.push(nodes.snapshotItem(i)); } return results; } var nodes = xpath('//tr[@id and @class]//tr/td[1]//a'); var labels = []; for(var i = 0, n = nodes.length - 1; i < n; i++){ labels.push(nodes[i]); } var targets = xpath('//input[@id="bkmk_label_1"]'); for(var i = 0, n = labels.length - 1; i < n; i++){ for(var ti = 0, tn = targets.length; ti < tn; ti++){ var t = targets[ti]; var link = document.createElement("a"); link.innerHTML = labels[i].innerHTML; link.setAttribute("href", "#"); link.addEventListener('click', function(e){ if(t.value == ""){ t.value = this.innerHTML; }else{ t.value += ", " + this.innerHTML; } }, true ); targets[ti].parentNode.appendChild(link); targets[ti].parentNode.appendChild(document.createTextNode(" ")); } } })();