Es ist, wie bege bereits sagte: Dass du die Trennline per CSS ausgeblendet hast, ändert nichts daran, dass sie existiert. Und so, wie das Script geschrieben ist, prüft es nicht die Sichtbarkeit im Menü.
Scripte Funktionieren nicht in Version 85 ?
-
Son Goku -
26. Januar 2021 um 20:18 -
Erledigt
-
-
ändert nichts daran, dass sie existiert.
Hallo Sören..
danke für die genaue Erklärung
-
aborix Was fehlt im Skript, um die Trennstriche nicht mitzuzählen? In Zeile 16 wird nach "menuitem" gesucht, also nicht "menuseparator".
-
Testet bitte. Die Änderungen sind ab Zeile 60. Weiter oben wird nur überprüft, ob der Ordner mehr als ein Lesezeichen enthält.
JavaScript
Alles anzeigen(function() { setTimeout(function() { if (!window.PlacesViewBase) return; PlacesViewBase.prototype._mayAddCommandsItems = function PVB__mayAddCommandsItems(aPopup) { if (aPopup == this._rootElt) return; let hasMultipleURIs = false; if (aPopup._placesNode.childCount > 0) { let currentChild = aPopup.firstElementChild; let numURINodes = 0; while (currentChild) { if (currentChild.localName == "menuitem" && currentChild._placesNode) { if (++numURINodes == 2) break; } currentChild = currentChild.nextElementSibling; } hasMultipleURIs = numURINodes > 1; } if (!hasMultipleURIs) aPopup.setAttribute("nofooterpopup", "true"); else aPopup.removeAttribute("nofooterpopup"); if (!hasMultipleURIs) { if (aPopup._endOptOpenAllInTabs) { aPopup.removeChild(aPopup._endOptOpenAllInTabs); aPopup._endOptOpenAllInTabs = null; aPopup.removeChild(aPopup._endOptSeparator); aPopup._endOptSeparator = null; } } else if (!aPopup._endOptOpenAllInTabs) { aPopup._endOptSeparator = document.createXULElement("menuseparator"); aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator"; aPopup.appendChild(aPopup._endOptSeparator); aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem"); aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem"; if (typeof this.options.extraClasses.entry == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.entry ); } if (typeof this.options.extraClasses.footer == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.footer ); } aPopup._endOptOpenAllInTabs.setAttribute( "oncommand", "PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " + "PlacesUIUtils.getViewForNode(this));" ); aPopup._endOptOpenAllInTabs.setAttribute( "onclick", "checkForMiddleClick(this, event); event.stopPropagation();" ); let menuitemsCount = 0; for (let node of aPopup.childNodes) { if (node.localName == 'menuitem') menuitemsCount++; } aPopup._endOptOpenAllInTabs.setAttribute( "label", " " + menuitemsCount + " <- " + gNavigatorBundle.getString("menuOpenAllInTabs.label") ); aPopup.appendChild(aPopup._endOptOpenAllInTabs); } }; }, 1000); })();
-
-
Siehe seperator aus Ordner entfernen ?, wo man sieht, dass du an dieser Stelle überhaupt keinen echten Lesezeichen-Separator hast. Das wird also von einer deiner Anpassungen kommen und daher nicht mitgezählt.
-
ne Sören,
ich hatte mir extra ein Seperator in diesem Ordner erstellt und dann stand 3. Dann habe ich das neue Script von aborix genommen und den Seperator gelöscht. Alles ok also 2. Genau dann ist mir ja aufgefallen das dort noch ein Seperator ganz oben ist.
Denn habe ich aber in allen Ordner.
Na mal sehen ob es mit CSS weg geht.
Danke erstmal
-
Dass mit dem neuen Script von aborix Trennlinien nicht mitgezählt werden, soll so sein, also funktioniert alles. Zur Erklärung meines vorherigen Beitrags: Im anderen Thema hattest du exakt den gleichen Screenshot gezeigt und dort war klar zu sehen, dass es in dem Ordner kei
nen Lesezeichen-Separator gibt. Insofern war der Screenshot hier im Thema irreführend. -
aa ok das mit dem neuen Script von aborix ist klar.
Und Sorry für die verwirrung mit den Screenshot.
Hatte Extra den Lila Pfleil rausgenommen
Und der Beitrag
#25 von mir da hatte ich zuerst das neue Script eingebunden gehabt. Dachte ich schreib gleich dazu das es funktioniert.
-
Testet bitte. Die Änderungen sind ab Zeile 60. Weiter oben wird nur überprüft, ob der Ordner mehr als ein Lesezeichen enthält.
Super! Vielen Dank, aborix
Bei mir ist nur das Timeout von 1000 zu kurz.
-
Hallo,
die Anzahl ist schon wieder weg
firefox 85.0.2 (64-Bit)
JavaScript
Alles anzeigen(function() { setTimeout(function() { if (!window.PlacesViewBase) return; PlacesViewBase.prototype._mayAddCommandsItems = function PVB__mayAddCommandsItems(aPopup) { if (aPopup == this._rootElt) return; let hasMultipleURIs = false; if (aPopup._placesNode.childCount > 0) { let currentChild = aPopup.firstElementChild; let numURINodes = 0; while (currentChild) { if (currentChild.localName == "menuitem" && currentChild._placesNode) { if (++numURINodes == 2) break; } currentChild = currentChild.nextElementSibling; } hasMultipleURIs = numURINodes > 1; } if (!hasMultipleURIs) aPopup.setAttribute("nofooterpopup", "true"); else aPopup.removeAttribute("nofooterpopup"); if (!hasMultipleURIs) { if (aPopup._endOptOpenAllInTabs) { aPopup.removeChild(aPopup._endOptOpenAllInTabs); aPopup._endOptOpenAllInTabs = null; aPopup.removeChild(aPopup._endOptSeparator); aPopup._endOptSeparator = null; } } else if (!aPopup._endOptOpenAllInTabs) { aPopup._endOptSeparator = document.createXULElement("menuseparator"); aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator"; aPopup.appendChild(aPopup._endOptSeparator); aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem"); aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem"; if (typeof this.options.extraClasses.entry == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.entry ); } if (typeof this.options.extraClasses.footer == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.footer ); } aPopup._endOptOpenAllInTabs.setAttribute( "oncommand", "PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " + "PlacesUIUtils.getViewForNode(this));" ); aPopup._endOptOpenAllInTabs.setAttribute( "onclick", "checkForMiddleClick(this, event); event.stopPropagation();" ); let menuitemsCount = 0; for (let node of aPopup.childNodes) { if (node.localName == 'menuitem') menuitemsCount++; } aPopup._endOptOpenAllInTabs.setAttribute( "label", " " + menuitemsCount + " <- " + gNavigatorBundle.getString("menuOpenAllInTabs.label") ); aPopup.appendChild(aPopup._endOptOpenAllInTabs); } }; }, 1000); })();
-
-
Funktioniert hier einwandfrei
Hier auch.
-
Setze mal unten die Timeout-Zeit von 1000 auf 5000 hoch, mit 5000 funktioniert das Skript bei mir. Unter Umständen musst du den Wert noch höher heraufsetzen.
-
Setze mal unten die Timeout-Zeit von 1000 auf 5000 hoch, mit 5000 funktioniert das Skript bei mir. Unter Umständen musst du den Wert noch höher heraufsetzen.
Bei mir funktioniert es auch nur mit 5000. Höhere Werte habe ich nicht probiert.
-
- Hilfreichste Antwort
Ein Skript-Variante ohne Timeout-Wert:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser) return; function setFunction() { PlacesViewBase.prototype._mayAddCommandsItems = function PVB__mayAddCommandsItems(aPopup) { if (aPopup == this._rootElt) return; let hasMultipleURIs = false; if (aPopup._placesNode.childCount > 0) { let currentChild = aPopup.firstElementChild; let numURINodes = 0; while (currentChild) { if (currentChild.localName == "menuitem" && currentChild._placesNode) { if (++numURINodes == 2) break; } currentChild = currentChild.nextElementSibling; } hasMultipleURIs = numURINodes > 1; } if (!hasMultipleURIs) aPopup.setAttribute("nofooterpopup", "true"); else aPopup.removeAttribute("nofooterpopup"); if (!hasMultipleURIs) { if (aPopup._endOptOpenAllInTabs) { aPopup.removeChild(aPopup._endOptOpenAllInTabs); aPopup._endOptOpenAllInTabs = null; aPopup.removeChild(aPopup._endOptSeparator); aPopup._endOptSeparator = null; } } else if (!aPopup._endOptOpenAllInTabs) { aPopup._endOptSeparator = document.createXULElement("menuseparator"); aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator"; aPopup.appendChild(aPopup._endOptSeparator); aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem"); aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem"; if (typeof this.options.extraClasses.entry == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.entry ); } if (typeof this.options.extraClasses.footer == "string") { aPopup._endOptOpenAllInTabs.classList.add( this.options.extraClasses.footer ); } aPopup._endOptOpenAllInTabs.setAttribute( "oncommand", "PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " + "PlacesUIUtils.getViewForNode(this));" ); aPopup._endOptOpenAllInTabs.setAttribute( "onclick", "checkForMiddleClick(this, event); event.stopPropagation();" ); let menuitemsCount = 0; for (let node of aPopup.childNodes) { if (node.localName == 'menuitem') menuitemsCount++; } aPopup._endOptOpenAllInTabs.setAttribute( "label", " " + menuitemsCount + " <- " + gNavigatorBundle.getString("menuOpenAllInTabs.label") ); aPopup.appendChild(aPopup._endOptOpenAllInTabs); } } } let intID = setInterval(function() { if (window.PlacesViewBase) { clearInterval(intID); setFunction(); } }, 500); })();
-
Ein Skript-Variante ohne Timeout-Wert:
Funktioniert sogar schon, wenn Fx noch gar nicht vollständig geladen ist. Super, vielen Dank!
-
Ein Skript-Variante ohne Timeout-Wert:
von mir auch ein Danke.
-
Also bei mir Funktioniert die Code von aborix im Beitrag-Nr:
Nicht. Danke Son Goku auf dem Hinweis-Link hierher.
Aber das Script ist leider nicht so ganz genau wie ich es unter dieser Thema eröffnet habe.
ThemaAnzahl Unterordner und Lesezeichen im Ordner anzeigen.
Ich will im Lesezeichen-Ordner, dass es jeweils anzeigt, wieviel Unterordner und Lesezeichen es hat.
Hier noch ein genaues Bild wie ich das meine:
camp-firefox.de/attachment/34281/
Die erste Zahl ist jeweils für die Lesezeichen und die zweite für die Ordner. Ist das machbar? evtl. mit einem Script die jemand schon hat und es teilen kann?
Danke im Voraus.omar197917. November 2021 um 22:28 Ahh doch jetzt..
Aber kann man das nicht so machen, wie ich es im oben erwähnten Thema geschildert habe?
-