Hallo Boersenfeger .
Teste mal diese etwas neuere Version ob die funktioniert.
JavaScript
// ==UserScript==
// @name Add Bookmark Here
// @namespace about:userchromejs/addbookmarkhere
// @description add "Add Bookmark Here" contextmenu in places menu
// @compatibility Firefox 68+
// @include chrome://browser/content/browser.xhtml
// @include chrome://browser/content/places/places.xhtml
// @shutdown window.AddBookmarkHere.uninit()
// @author Ryan, zbinlin
// @homepage http://mozcp.com
// @version 0.0.4
// ==/UserScript==
/**
* Klicken Sie auf das Menü und drücken Sie die Umschalttaste, um es oben im Ordner oder vor dem aktuellen Lesezeichen hinzuzufügen
* ******************************** Changelog ********************************
* version: 0.0.4
* * Lesezeicheneintrag konnte durch rechtsklick nicht eingefügt werden.
* Ist behoben
* version: 0.0.3
* * Kompatibilitäts - Probleme mit neueren Firefox-Versionen behoben.
* * Achtung: nur in Firefox 100 getestet!
* version: 0.0.2
* * Kompatibel mit Firefox 21+
*
* version: 0.0.1
* * Initialisierung
* ***************************************************************************
*/
"use strict";
(function () {
if (window.AddBookmarkHere) return;
var AddBookmarkHere = {
PARENT_NODE: "placesContext",
ADD_REF_NODE: "placesContext_show_bookmark:info",
init: function () {
if (!location.href.startsWith('chrome://browser/content/browser.x')) return;
var parentNode = document.getElementById(this.PARENT_NODE);
if (!parentNode) return;
var self = this;
window.addEventListener("unload", function _(e) {
window.removeEventListener("unload", _, false);
self.uninit();
}, false);
var refNode;
if (this.ADD_REF_NODE !== "") {
var refNode = document.getElementById(this.ADD_REF_NODE);
}
this.addContextMenu(parentNode, refNode);
},
addContextMenu: function (parentNode, refNode) {
var menuitem = document.createXULElement("menuitem");
menuitem.id = "placesContext_add:bookmark";
menuitem.setAttribute("label", Services.locale.appLocaleAsBCP47.includes("de") ? "Lesezeichen hier hinzufügen" : "Add Bookmark Here");
menuitem.setAttribute("accesskey", "h");
menuitem.setAttribute("selection", "any");
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("style", "list-style-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOC44MDgwMiAyLjEwMTc5QzguNDc3ODkgMS40MzI4NyA3LjUyNDAzIDEuNDMyODcgNy4xOTM5IDIuMTAxNzlMNS42NzI4MSA1LjE4Mzg0TDIuMjcxNTYgNS42NzgwN0MxLjUzMzM2IDUuNzg1MzQgMS4yMzg2MSA2LjY5MjUxIDEuNzcyNzcgNy4yMTMyTDQuMjMzOTQgOS42MTIyNEwzLjY1Mjk0IDEyLjk5OTdDMy41MjY4NCAxMy43MzUgNC4yOTg1MyAxNC4yOTU2IDQuOTU4NzkgMTMuOTQ4NUw4LjAwMDk2IDEyLjM0OTFMOC40ODI5IDEyLjYwMjVDOC4xODU5NyAxMi4zMjg0IDggMTEuOTM1OSA4IDExLjVDOCAxMS40NDQ2IDguMDAzIDExLjM5IDguMDA4ODQgMTEuMzM2MkM3Ljg2MjM2IDExLjMzNDkgNy43MTU2NCAxMS4zNjk0IDcuNTgyMTUgMTEuNDM5NUw0LjY3MjggMTIuOTY5MUw1LjIyODQzIDkuNzI5NDdDNS4yNzg1MSA5LjQzNzUxIDUuMTgxNzEgOS4xMzk2MSA0Ljk2OTYgOC45MzI4NUwyLjYxNTg4IDYuNjM4NTRMNS44Njg2NCA2LjE2NTg5QzYuMTYxNzggNi4xMjMyOSA2LjQxNTE5IDUuOTM5MTggNi41NDYyOCA1LjY3MzU1TDguMDAwOTYgMi43MjYwNUw4LjczMzUxIDQuMjEwMzZDOC45NTc4MiA0LjA3Njc1IDkuMjE5OTUgNCA5LjUgNEg5Ljc0NDg1TDguODA4MDIgMi4xMDE3OVpNOS41IDVDOS4yMjM4NiA1IDkgNS4yMjM4NiA5IDUuNUM5IDUuNzc2MTQgOS4yMjM4NiA2IDkuNSA2SDE0LjVDMTQuNzc2MSA2IDE1IDUuNzc2MTQgMTUgNS41QzE1IDUuMjIzODYgMTQuNzc2MSA1IDE0LjUgNUg5LjVaTTkuNSA4QzkuMjIzODYgOCA5IDguMjIzODYgOSA4LjVDOSA4Ljc3NjE0IDkuMjIzODYgOSA5LjUgOUgxNC41QzE0Ljc3NjEgOSAxNSA4Ljc3NjE0IDE1IDguNUMxNSA4LjIyMzg2IDE0Ljc3NjEgOCAxNC41IDhIOS41Wk05LjUgMTFDOS4yMjM4NiAxMSA5IDExLjIyMzkgOSAxMS41QzkgMTEuNzc2MSA5LjIyMzg2IDEyIDkuNSAxMkgxNC41QzE0Ljc3NjEgMTIgMTUgMTEuNzc2MSAxNSAxMS41QzE1IDExLjIyMzkgMTQuNzc2MSAxMSAxNC41IDExSDkuNVoiLz4KPC9zdmc+Cg==)");
menuitem.addEventListener("command", this.addBookMarkEvent, false);
if (typeof refNode !== "undefined") {
parentNode.insertBefore(menuitem, refNode);
} else {
parentNode.appendChild(menuitem);
}
},
addBookMarkEvent: function (e) {
var popupNode = PlacesUIUtils.lastContextMenuTriggerNode || document.popupNode;
if (!popupNode) return;
var view = PlacesUIUtils.getViewForNode(popupNode);
if (!view) return;
var bookmarks = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService);
var selectedNode = view.selectedNode;
var iid, aid;
if (selectedNode) {
if (PlacesUtils.nodeIsFolder(selectedNode) /* Firefox 21+ inkompatibel && !PlacesUtils.nodeIsLivemarkContainer(selectedNode) && !PlacesUtils.isReadonlyFolder(selectedNode) */) {
iid = selectedNode.itemId;
aid = e.shiftKey ? 0 : bookmarks.DEFAULT_INDEX;
} else {
iid = bookmarks.getFolderIdForItem(selectedNode.itemId);
var id = selectedNode.itemId;
aid = e.shiftKey ? id : id + 1;
}
} else {
iid = view.result.root.folderItemId;
aid = e.shiftKey ? 0 : bookmarks.DEFAULT_INDEX;
};
var uri = Services.io.newURI(gBrowser.currentURI.spec, null, null);
var title = gBrowser.contentTitle
bookmarks.insertBookmark(iid, uri, aid, title);
},
uninit: function () {
var self = this;
try {
var menuitem = document.getElementById("placesContext_add:bookmark");
menuitem.removeEventListener("command", self.addBookMarkEvent, false);
menuitem.remove();
delete window.AddBookmarkHere;
} catch (ex) {
}
}
};
AddBookmarkHere.init();
window.AddBookmarkHere = AddBookmarkHere;
})();
Alles anzeigen
Hoffe, die funktioniert.
Ansonsten muss sich das jemand anderes anschauen.
Mfg.
Endor