(async (url, pa = ChromeUtils.import(url).PageActions) => pa.addAction(new pa.Action({ title: "Копировать ссылку", tooltip: "Копировать ссылку", iconURL: "chrome://browser/skin/link.svg", id: "ucf-copyURL", pinnedToUrlbar: true, onCommand(e) { var gBrowserBundle = { GetStringFromName: () => "Скопировано в буфер обмена!" }; var show = eval(`(function ${e.view.ConfirmationHint.show})`); var helper = Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper); (this.onCommand = e => { var win = e.view; var uri = win.gBrowser.selectedBrowser.currentURI; helper.copyString(win.gURLBar.makeURIReadable(uri).displaySpec); var anchor = win.BrowserPageActions.panelAnchorNodeForAction(this, e); show.call(win.ConfirmationHint, anchor, "", {event: e, hideArrow: true}); })(e); } })))("resource:///modules/PageActions.jsm"); |