Das hier funktioniert noch. Allerdings erstellt es keinen Button, sondern einen Eintrag im Kontextmenü von Lesezeichen. Ob und wie man das in das andere Skript einbauen kann, weiß ich nicht.
(Das Skript aktualisiert zusätzlich den Titel.)
JavaScript: updateBookmark2.uc.js
location == AppConstants.BROWSER_CHROME_URL && (function () {
var placesContext = document.getElementById("placesContext");
var separator = document.getElementById("placesContext_openSeparator");
var repBM = document.createXULElement('menuitem');
placesContext.insertBefore(repBM, separator);
repBM.id = "placesContext_replaceURL";
repBM.setAttribute("label", "Mit aktueller URL ersetzen"); repBM.setAttribute("style", "list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEGSURBVDhPjdMxTkMxEITh14EULgAtJaKnRKLgSkSCA3CXUCM6uAE0HAA6Ojq6MB+So30mVjLSryTOzr71+HnaUwdhGd7CR1iFs7CXjsJzWHd8h51NmF8Cw2e4DqfBBNZ8DlXNxmZs8r2tD3UYFuEyVDOZRIPXv1+dBHYb3sNXeAoXoUkz29HgxkLVKLCfcByYjW1NnYdt1O/5KjDdh8dwHppZnfqNerNiJuaToNnQbIw2tiJjerKxrVXUzcwkCH8KpqYtOAEKUqB3YbbnJq+nBo6mSjNH6Cgd6VBtb/XpNe1/e+71EBR6LRlN0s55p5lcCBeDobI1sJE0MYmxvZ6u7tbA5pqmXyl8VncRtScFAAAAAElFTkSuQmCC)");
repBM.setAttribute("accesskey", "U");
repBM.addEventListener("command", () => {
var itemGuid = placesContext.triggerNode._placesNode.bookmarkGuid;
PlacesUtils.bookmarks.update({
guid: itemGuid,
url: gBrowser.currentURI,
title: gBrowser.contentTitle
});
});
var openBM = document.getElementById("placesContext_open:newtab");
placesContext.addEventListener("popupshowing", () => {
if (openBM.getAttribute("hidden") == "true") {
repBM.setAttribute("hidden", "true");
} else {
repBM.removeAttribute("hidden");
}
});
})();
Alles anzeigen