WDF

Firefoxのスマートキーワードでブックマークレットを実行する(part2)。

ブックマークレットに引数を与えて実行するサンプル(HTMLタグを明示する)

ブックマークレットにキーワードを指定します。

urlbarにキーワードとタグ名と色名を入力してEnterキーを押します。

該当タグがボーダーでハイライトされ、id、class、name属性が表示されます。

ブックマークメニューから実行すると、タグ名と色名を入力するプロンプトが表示されます。

コード

javascript:(function(){var temp_str = %22%s%22;if (escape(temp_str).replace(/%u/g, '\\u').replace(/%/g, '\\x').match(/\\x25s/)) {temp_str = prompt('\u30BF\u30B0\u3068\u8272\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\uFF08\u534A\u89D2\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u308B\uFF09');if (!temp_str) {return;}}var args = temp_str.replace(/%E3%80%80/g, ' ').split(' ');var color = 'red';if (args[1]) {color = args[1];}if (args[0]) {var tag = args[0];var elems = document.getElementsByTagName(tag);if (elems.length > 0) {for (var i=0; i<elems.length; i++) {var elem = elems[i];elem.style.border = '1px solid ' + color;elem.style.padding = '1px';showAttrName(elem, color);}} else {alert('There is NO %22' + tag + '%22 tags.');}}function showAttrName(elem, borderColor) {var attrArray = new Array(%22CLASS%22, %22ID%22, %22NAME%22);var titleText = ' ';for (j=0; j<attrArray.length; j++) {if (elem.getAttribute(attrArray[j])) {var attrValue = elem.getAttribute(attrArray[j]);var attrText = document.createTextNode('[' + attrArray[j].toLowerCase() + ' : ' + attrValue + ']');var attrElem = document.createElement('SPAN');attrElem.appendChild(attrText);var es = attrElem.style;es.color = '#222';es.backgroundColor = '#FFFFE1';es.fontSize = '80%';es.fontStyle = 'italic';es.fontWeight = 'normal';es.border = '1px solid ' + borderColor;es.padding = '1px';es.margin = '1px';elem.appendChild(attrElem);titleText += '[' + attrArray[j].toLowerCase() + ' : ' + attrValue + '] ';}}elem.setAttribute('TITLE', titleText);}})();