これは某SNSで公開していたもの。ついでなので持ってきました。
鳥獣保護区 | Firefox で開いているページを Safari で開くを参考にしています。
var Megalodonizer = {
mSchemes: ["file", "ftp", "http", "https"],
prefixMegalodon: 'http://megalodon.jp/?url=',
init: function() {
this.mItem = document.createElement("menuitem");
document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() { Megalodonizer.onPopupShowing(this); }, false);
},
onPopupShowing: function(aPopup) {
aPopup.insertBefore(this.mItem, document.getElementById("context-sep-" + ((gContextMenu.onLink)?"open":"stop")));
if (gContextMenu.onLink) {
this.mItem.setAttribute("oncommand", "Megalodonizer.showGyotaku(gContextMenu.linkURI);");
this.mItem.setAttribute("label", "Show Gyotaku of link");
} else {
this.mItem.setAttribute("oncommand", "Megalodonizer.showGyotaku(gBrowser.currentURI);");
this.mItem.setAttribute("label", "Show Gyotaku");
}
this.mItem.hidden = !gContextMenu.onLink && (gContextMenu.isTextSelected || gContextMenu.onImage || gContextMenu.onTextInput);
this.mItem.setAttribute("disabled", this.mItem.hidden || !this.isSupported((gContextMenu.onLink)?gContextMenu.linkURI:gBrowser.currentURI));
},
isSupported: function(aURI) {
return this.mSchemes.indexOf(aURI.scheme) > -1;
},
showGyotaku: function(aURI) {
if (!this.isSupported(aURI)) {
throw new Error("Megalodonizer : unsupported URI scheme '" + aURI.scheme + "'!");
}
gBrowser.loadOneTab(this.prefixMegalodon + encodeURI(aURI.spec).replace('&', '%26').replace('?', '%3F'), null, null, null, true, false);
}
}
Megalodonizer.init();