Firefox Javascript Actionsアンカー作成スクリプト
↓を参考に作りました。
http://moewe.xrea.jp/log/2004_09.html#d20040926
// Firefox Javascript Actions アンカー作成スクリプト // 2005/10/21 kkkkkkkk function escapeHTML(str) { return str.replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&').replace(/\"/g,'"'); } function buildAnchorTag(url, target) { return '<a href="' + url + '">' + target + '</a>'; } function makeanchor(){ var page_title = escapeHTML(window.document.title); var page_url = escapeHTML(window.document.location.href); if (page_title == '') page_title = page_url; var con = _jsaCScript.context; if (con.isTextSelected) { var selection = escapeHTML(document.getSelection()); } if (con.onLink) { var link_url = escapeHTML(con.link.href); var link_text = escapeHTML(con.link.text); } if (con.onLink && con.isTextSelected) { return buildAnchorTag(link_url, selection); } else if (con.isTextSelected) { return buildAnchorTag(page_url, selection); } else if (con.onLink) { return buildAnchorTag(link_url, link_text); } else { return buildAnchorTag(page_url, page_title); } } var template = makeanchor(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); str.data = template; var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); trans.addDataFlavor("text/unicode"); trans.setTransferData("text/unicode", str, template.length * 2); var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard); clip.emptyClipboard(clip.kGlobalClipboard); clip.setData(trans, null, clip.kGlobalClipboard);