マウスで範囲を選択してALT+EWでウェブ検索、ALT+EEでurlとみなして開くという指癖がついているので、そういう風にメニューアイテムを追加。ベースはxuldev.org :: userChrome.js scriptsから拾ってきたPrivateToolMenus.uc.js。copyText()関数もcopy_url_lite.uc.js(たぶんOn the Moon出身)のものから流用。
// ==UserScript== // @name Edit Menus // @namespace http://www.xuldev.org/ // @description Add to editmenu // @include main // @author Gomita // @version // @homepage http://www.xuldev.org/misc/ucjs.php // ==/UserScript== function search_google(){ return 'http://www.google.co.jp/search?lr=lang_ja&aq=t&rls=org.mozilla:ja:official&client=firefox&q=' + document.commandDispatcher.focusedWindow.getSelection().toString(); } function make_url(){ text = document.commandDispatcher.focusedWindow.getSelection().toString(); if(text.substr(0,4) != 'http'){ text = 'http://' + text; } return text; } function copyText(text){ text = text.replace(/%EOL%/g, "\n"); Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper).copyString(text); } [ { "label" : "開く", "accesskey": "E", "oncommand": "gBrowser.addTab(make_url());" }, { "label" : "Google検索", "accesskey": "W", "oncommand": "gBrowser.addTab(search_google());" }, { "label" : "URLコピー", "accesskey": "U", "oncommand": "copyText(content.location.href);" }, { "label" : "タイトルとURLコピー", "accesskey": "B", "oncommand": "copyText(content.document.title + '%EOL%' + content.location.href);" }, { "label" : "タイトルコピー", "accesskey": "T", "oncommand": "copyText(content.document.title);" } ] .forEach(function(attrs) { var menuitem = document.createElement("menuitem"); for (var key in attrs) menuitem.setAttribute(key, attrs[key]); document.getElementById("menu_EditPopup").insertBefore(menuitem, document.getElementById("")); });