kannst Du bitte helfen.
Puuuh, leider nein . Ich habe keine Ahnung, was jetzt wieder nicht läuft und müsste das Skript debuggen. Da komme ich frühestens am Wochenende dazu. Vielleicht hat ja aborix eine Lösung parat?
kannst Du bitte helfen.
Puuuh, leider nein . Ich habe keine Ahnung, was jetzt wieder nicht läuft und müsste das Skript debuggen. Da komme ich frühestens am Wochenende dazu. Vielleicht hat ja aborix eine Lösung parat?
Ich habe keine Ahnung, was jetzt wieder nicht läuft
Ich kann nur soviel dazu sagen, dass am unteren Ende die Anzeige weg ist, nur oben wird sie dann nicht angezeigt. Nehme ich das Script ganz raus, so ist die Anzeige original unten da.
Übrigens funktionierte es auch in Version 110 nicht, ist mir erst jetzt aufgefallen.
Im aktuellen Nightly funktioniert das Script RE: userChrome.js Scripte für den Fuchs (Diskussion) wieder nicht.
Bitte testen (für Version 111) :
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._mayAddCommandsItems =
function PVB__mayAddCommandsItems(aPopup) {
let hasMultipleURIs = false;
let menuitemCount = 0;
let menuCount = 0;
if (aPopup._placesNode.childCount > 0) {
for (let item of aPopup.children) {
if (item._placesNode) {
if (item.localName == 'menuitem') {
menuitemCount++;
} else if (item.localName == 'menu') {
menuCount++;
}
}
}
if (menuitemCount > 0 || menuCount > 0) {
hasMultipleURIs = true;
}
}
if (!hasMultipleURIs) {
aPopup.setAttribute("nofooterpopup", "true");
if (aPopup._endOptOpenAllInTabs) {
aPopup.removeChild(aPopup._endOptOpenAllInTabs);
aPopup._endOptOpenAllInTabs = null;
aPopup.removeChild(aPopup._endOptSeparator);
aPopup._endOptSeparator = null;
}
return;
}
aPopup.removeAttribute("nofooterpopup");
if (!aPopup._endOptOpenAllInTabs) {
aPopup._endOptSeparator = document.createXULElement("menuseparator");
aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator";
aPopup.insertBefore(aPopup._endOptSeparator, aPopup.firstChild);
aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem");
aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem";
if (this.options?.extraClasses?.entry) {
aPopup._endOptOpenAllInTabs.classList.add(
this.options.extraClasses.entry
);
}
aPopup._endOptOpenAllInTabs.setAttribute(
"oncommand",
"PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " +
"PlacesUIUtils.getViewForNode(this));"
);
aPopup._endOptOpenAllInTabs.setAttribute(
"onclick",
"checkForMiddleClick(this, event); event.stopPropagation();"
);
aPopup.insertBefore(aPopup._endOptOpenAllInTabs, aPopup.firstChild);
}
let label = menuitemCount + " Link";
if (menuitemCount != 1) {
label += "s";
}
label += " / " + menuCount + " Ordner."
if (menuitemCount == 1) {
label += " -> Link in Tab öffnen."
} else if (menuitemCount > 1) {
label += " -> Links in Tabs öffnen."
}
aPopup._endOptOpenAllInTabs.setAttribute("label", label);
}
}
setTimeout(function() {
setFunction();
},50);
})();
Alles anzeigen
Wieder was gelernt ->
Sachen gibt's...in JavaScript
Bitte testen (für Version 111) :
Perfekt, herzlichen Dank dafür.
Nachtrag:
Auch in Version 110 funktioniert das Script wieder.
Ich benutze ein ähnliches Script aus:
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._mayAddCommandsItems =
function PVB__mayAddCommandsItems(aPopup) {
// The command items are never added to the root popup.
if (aPopup == this._rootElt) {
return;
}
// if there is no name item, insert it; update label
if (!aPopup.firstChild.classList.contains("name-menuitem")) {
aPopup.insertBefore(document.createXULElement("menuseparator"), aPopup.firstChild);
let nameItem = document.createXULElement("menuitem");
nameItem.classList.add("name-menuitem");
aPopup.insertBefore(nameItem, aPopup.firstChild);
}
aPopup.firstChild.label = aPopup.parentNode.label;
let hasMultipleURIs = false;
// Check if the popup contains at least 2 menuitems with places nodes.
// We don't currently support opening multiple uri nodes when they are not
// populated by the result.
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) {
// We don't have to show any option.
if (aPopup._endOptOpenAllInTabs) {
aPopup.removeChild(aPopup._endOptOpenAllInTabs);
aPopup._endOptOpenAllInTabs = null;
aPopup.removeChild(aPopup._endOptSeparator);
aPopup._endOptSeparator = null;
}
} else if (!aPopup._endOptOpenAllInTabs) {
// Create a separator before options.
aPopup._endOptSeparator = document.createXULElement("menuseparator");
aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator";
aPopup.appendChild(aPopup._endOptSeparator);
// Add the "Open All in Tabs" menuitem.
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(
"label",
gNavigatorBundle.getString("menuOpenAllInTabs.label")
);
aPopup.appendChild(aPopup._endOptOpenAllInTabs);
}
}
}
let intId = setInterval(function() {
if (window.PlacesViewBase) {
clearInterval(intId);
setFunction();
}
}, 500);
})();
Alles anzeigen
Leider habe ich es nicht geschafft dieses anzupassen.
Könnte mir bitte jemand helfen?
Danke! Danke!
Sollte es wichtig sein hier die css dazu:
.bookmark-item menupopup menuitem.name-menuitem {
background-color: gray !important;
min-width: 150px !important;
height: 21px !important;
min-height: 21px !important;
max-height: 21px !important;
padding-right: auto !important;
padding-left: 17px !important;
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.bookmark-item menupopup menuitem.name-menuitem .menu-text {
display: flex !important;
text-transform: uppercase !important;
justify-content: center !important;
margin-top: 0px !important;
}
Mary-J. , bitte mal testen:
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._mayAddCommandsItems =
function PVB__mayAddCommandsItems(aPopup) {
// The command items are never added to the root popup.
if (aPopup == this._rootElt) {
return;
}
// if there is no name item, insert it; update label
if (!aPopup.firstChild.classList.contains("name-menuitem")) {
aPopup.insertBefore(document.createXULElement("menuseparator"), aPopup.firstChild);
let nameItem = document.createXULElement("menuitem");
nameItem.classList.add("name-menuitem");
aPopup.insertBefore(nameItem, aPopup.firstChild);
}
aPopup.firstChild.label = aPopup.parentNode.label;
let hasMultipleURIs = false;
// Check if the popup contains at least 2 menuitems with places nodes.
// We don't currently support opening multiple uri nodes when they are not
// populated by the result.
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) {
// We don't have to show any option.
if (aPopup._endOptOpenAllInTabs) {
aPopup.removeChild(aPopup._endOptOpenAllInTabs);
aPopup._endOptOpenAllInTabs = null;
aPopup.removeChild(aPopup._endOptSeparator);
aPopup._endOptSeparator = null;
}
} else if (!aPopup._endOptOpenAllInTabs) {
// Create a separator before options.
aPopup._endOptSeparator = document.createXULElement("menuseparator");
aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator";
aPopup.appendChild(aPopup._endOptSeparator);
// Add the "Open All in Tabs" menuitem.
aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem");
aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem";
if (this.options?.extraClasses?.entry) {
aPopup._endOptOpenAllInTabs.classList.add(
this.options.extraClasses.entry
);
}
aPopup._endOptOpenAllInTabs.setAttribute(
"oncommand",
"PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " +
"PlacesUIUtils.getViewForNode(this));"
);
aPopup._endOptOpenAllInTabs.setAttribute(
"label",
gNavigatorBundle.getString("menuOpenAllInTabs.label")
);
aPopup.appendChild(aPopup._endOptOpenAllInTabs);
}
}
}
setTimeout(function() {
setFunction();
},500);
})();
Alles anzeigen
PS: Falls es nicht so läuft, wie es soll, dann sind mehr Anpassungen notwendig und aborix müsste sich das mal anschauen.
Was genau hättest Du denn gerne angepasst?
Vielleicht will sie/er, dass es einfach nur wieder funktioniert...
Was genau hättest Du denn gerne angepasst?
Vielleicht will sie/er, dass es einfach nur wieder funktioniert...
Oh, sorry. Du bist ja schneller als der Blitz.
Dachte, meine Frage ist überflüssig.
Und unter anpassen verstehe ich etwas anderes, als funktioniert nicht mehr.
Aber gut, er/sie wird sich schon melden, hoffe ich.
Oh, sorry.
[...]
Aber gut, er/sie wird sich schon melden, hoffe ich.
"Alles ist gut"... . Ja, warten wir ab....
Das funzt, ich weiß gar nicht was ich sagen soll, einfach gut, und so schnell. Danke!
Ohne jetzt aufdringlich zu sein, geht das auch mit diesem, sehr ähnlichem Script:
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._onPopupShowing = function PVB__onPopupShowing(aEvent) {
let popup = aEvent.originalTarget;
this._ensureMarkers(popup);
if ("_delayedRemovals" in popup) {
while (popup._delayedRemovals.length) {
popup.removeChild(popup._delayedRemovals.shift());
}
}
if (popup._placesNode && PlacesUIUtils.getViewForNode(popup) == this) {
if (!popup._placesNode.containerOpen) {
popup._placesNode.containerOpen = true;
}
if (!popup._built) {
this._rebuildPopup(popup);
}
this._mayAddCommandsItems(popup);
}
/* original function end */
for (let item of popup.children) {
if (item.localName != 'menu' || item.id?.startsWith('history'))
continue;
setTimeout(() => {
let itemPopup = item.menupopup;
itemPopup.openPopup();
itemPopup.hidePopup();
let menuitemCount = 0;
let menuCount = 0;
for (let subitem of itemPopup.children) {
if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) {
if (subitem.localName == 'menuitem') {
menuitemCount++;
} else if (subitem.localName == 'menu') {
menuCount++;
}
}
}
if (!item.labelOriginal) {
item.labelOriginal = item.label;
}
item.labelSuffix = ' (' + menuCount + '/' + menuitemCount + ')';
// item.setAttribute("id", "menu-menuitem-count");
// item.labelSuffix.setAttribute("color", "red");
// item.labelSuffix = className("menu-menuitem-count");
// item.labelSuffix.className = "menu-menuitem-count";
// menuitemCount.setAttribute("id", "menu-menuitem-count");
item.label = item.labelOriginal + item.labelSuffix;
}, 100);
}
popup.addEventListener('popuphidden', function onPopuphidden(event) {
if (event.target != this)
return;
popup.removeEventListener('popuphidden', onPopuphidden);
for (let item of popup.children) {
if (item.localName == 'menu') {
if (item.labelOriginal) {
item.label = item.labelOriginal;
item.labelOriginal = undefined;
}
}
}
});
}
}
let intId = setInterval(() => {
if (window.PlacesViewBase) {
clearInterval(intId);
setFunction();
}
}, 500);
})();
Alles anzeigen
, geht das auch mit diesem, sehr ähnlichem Script:
Eine Bitte: Es wäre gut, wenn du bei Skripten, welche keinerlei Kommentierung enthalten, einigermaßen genau den Sinn und Zweck des Skripts beschreiben würdest. Wusste jetzt gar nicht, nach was ich eigentlich suchen sollte...
Falls es das ist:
Dann bitte mal testen:
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._onPopupShowing = function PVB__onPopupShowing(aEvent) {
let popup = aEvent.originalTarget;
this._ensureMarkers(popup);
if ("_delayedRemovals" in popup) {
while (popup._delayedRemovals.length) {
popup.removeChild(popup._delayedRemovals.shift());
}
}
if (popup._placesNode && PlacesUIUtils.getViewForNode(popup) == this) {
if (!popup._placesNode.containerOpen) {
popup._placesNode.containerOpen = true;
}
if (!popup._built) {
this._rebuildPopup(popup);
}
this._mayAddCommandsItems(popup);
}
/* original function end */
for (let item of popup.children) {
if (item.localName != 'menu' || item.id?.startsWith('history'))
continue;
setTimeout(() => {
let itemPopup = item.menupopup;
itemPopup.openPopup();
itemPopup.hidePopup();
let menuitemCount = 0;
let menuCount = 0;
for (let subitem of itemPopup.children) {
if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) {
if (subitem.localName == 'menuitem') {
menuitemCount++;
} else if (subitem.localName == 'menu') {
menuCount++;
}
}
}
if (!item.labelOriginal) {
item.labelOriginal = item.label;
}
item.labelSuffix = ' (' + menuCount + '/' + menuitemCount + ')';
// item.setAttribute("id", "menu-menuitem-count");
// item.labelSuffix.setAttribute("color", "red");
// item.labelSuffix = className("menu-menuitem-count");
// item.labelSuffix.className = "menu-menuitem-count";
// menuitemCount.setAttribute("id", "menu-menuitem-count");
item.label = item.labelOriginal + item.labelSuffix;
}, 100);
}
popup.addEventListener('popuphidden', function onPopuphidden(event) {
if (event.target != this)
return;
popup.removeEventListener('popuphidden', onPopuphidden);
for (let item of popup.children) {
if (item.localName == 'menu') {
if (item.labelOriginal) {
item.label = item.labelOriginal;
item.labelOriginal = undefined;
}
}
}
});
}
}
setTimeout(function() {
setFunction();
},50);
})();
Alles anzeigen
Läuft! Vielen lieben Dank!
ZitatWusste jetzt gar nicht, nach was ich eigentlich suchen sollte...
War gestern schon etwas spät, und das Originalscript habe ich auch nicht gefunden. Nächstes mal wird's besser und auf jeden Fall mit Beschreibung.
War gestern schon etwas spät, und das Originalscript habe ich auch nicht gefunden. Nächstes mal wird's besser und auf jeden Fall mit Beschreibung.
Kein Problem . Freut mich, wenn es bei dir wieder läuft...
habe ich ein kleines Skript gebastelt
Gab es schon
habe ich ein kleines Skript gebastelt
Gab es schon
BeitragRE: Erweiterungen (Addons)
Oder einen eigenen Button per Skript erstellen.
camp-firefox.de/attachment/41279/
(Quelltext, 32 Zeilen)
2002Andreas16. März 2023 um 13:15
Hoppla, wie konnte ich den übersehen?
Dann lösche ich das mal schnell, ist ja peinlich.
Vielen Dank, sonst sauge ich eigentlich alles an Info auf, was diesen Button angeht ...
ist ja peinlich.
Alles ist gut
Dann lösche ich das mal schnell
Warum, es funktioniert doch.
wie konnte ich den übersehen?
Bei über 3000 Beiträgen allein in diesem Thread kann das schnell mal passieren.
Dann lösche ich das mal schnell
Warum, es funktioniert doch.
Dein Skript ist aber eleganter, und meines war quasi identisch; ich denke zwei Versionen würden nur Verwirrung bringen.
Witzig dass wir beide zum fast gleichen Ergebnis gekommen sind - und ich hatte wie immer nur wild aus anderen Skripts Zeilen kopiert.
aus anderen Skripts Zeilen kopiert.
Ich hatte auch nur ein hier genutztes Skript verändert
Selber erstellen kann ich die nicht, das muss ich den Fachleuten überlassen.
Hallo zusammen.
Habe hier dieses Script verwendet.
Es erhöhte, nur in der Menüleiste, bei Chronik im Menü ,die Anzahl der
Einträge der zuletzt geschlossenen Tabs von 15 auf 25. Seit Firefox 111
muss ich das Script deaktivieren sonst werden unter Menüleiste - Chronik
nur mehr ganz oben die vier Einträge angezeigt.
(function() {
if (!window.gBrowser)
return;
const maxItems = 25;
let HistoryMenuOriginal = HistoryMenu;
HistoryMenu = function HistoryMenu(aPopupShowingEvent) {
this.__proto__.__proto__ = PlacesMenu.prototype;
Object.keys(this._elements).forEach(name => {
this[name] = document.getElementById(this._elements[name]);
});
PlacesMenu.call(this, aPopupShowingEvent, "place:sort=4&maxResults=" + maxItems);
};
HistoryMenu.prototype = HistoryMenuOriginal.prototype;
})();
Alles anzeigen
Keine Ahnung wie oder was man da ändern müsste.
Hoffe ihr habt da eine Idee.
Mfg.
Endor
der zuletzt geschlossenen Tabs von 15 auf 25.
Hallo Endor.
Ich bin mir jetzt nicht sicher, aber teste doch bitte mal diesen Eintrag in der user.js
user_pref("browser.sessionstore.max_tabs_undo", 30);