Zuletzt aktualisiert: 21. März 2025
Habe da ehrlich gesagt gar nicht darauf geachtet.
Als weiteres Plugin gibt es dann nur noch Widevine Content Decryption, aber auch dieses wurde aktualisiert.
Zuletzt aktualisiert: 21. März 2025
Habe da ehrlich gesagt gar nicht darauf geachtet.
Als weiteres Plugin gibt es dann nur noch Widevine Content Decryption, aber auch dieses wurde aktualisiert.
Mit diesem Skript kannst Du ihn verschieben.
// Source file https://www.camp-firefox.de/forum/thema/135594/?postID=1213396#post1213396
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let menuButton = document.getElementById('PanelUI-menu-button');
if (!CustomizableUI.getPlacementOfWidget('ucjs_PanelUI-button')) {
try {
CustomizableUI.createWidget({
id: 'ucjs_PanelUI-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
toolbaritem.id = 'ucjs_PanelUI-button';
return toolbaritem;
}
});
if (!CustomizableUI.getPlacementOfWidget('ucjs_PanelUI-button')) {
menuButton.style.display = 'none';
return;
};
} catch(e) {
menuButton.style.display = 'none';
return;
};
};
setTimeout(function() {
document.getElementById('ucjs_PanelUI-button').appendChild(menuButton);
menuButton.setAttribute('consumeanchor', 'ucjs_PanelUI-button');
}, 0);
}());
Alles anzeigen
Oh.
Sehr, sehr schade!
Anna R. ist völlig unerwartet mit 55 verstorben.
Rosenstolz-Sängerin gestorben.
Und ich wäre so gerne im Herbst auf's Konzert gegangen.
Ruhe in Frieden, liebe AnNa R.
Sorry, aber ich verstehe es ganz genau so!
Zeile 7 und Zeile 24 "löschen" oder auskommentieren.
Ok, dahast Du recht, deshalb versuche ich KI so wenig wie möglich zu nutzen.
Ich denke also genau wie Du. Möchte ja was lernen und nicht einfach eine KI irgendwas machen lassen.
Ähm, die Frage an ChatGPT war, erkläre mir das Skript, Zeile für Zeile.
Es ist nur ein Hilfsmittel, ich hätte es ja nicht so erklären können!
Normalerweise "hacke" ich ja Skripte von anderen und kann auch nur das umsetzen, was ich verstehe!
Ich gebe zu, hin und wieder bemühe ich aber auch ChatGPT und lasse mir Funktionen für ein besseres Verständnis erklären.
Bemühe mich aber, so gut es irgendwie geht, ohne KI auszukommen.
Mitleser Du kannst nicht einfach irgendwas in einem Skript löschen, auch wenn es danach scheinbar so funktioniert,
wie Du es gerne hättest!
Hier eine Erklärung des Skripts, Zeile für Zeile!
Und nein, die Zeilen 24 & 37 bewirken nicht das gleiche!
Und wie ich schon einmal schrieb, schau in die Konsole,
da wird mit Sicherheit ein Fehler angezeigt!
Auch wenn das Skript scheinbar funktioniert und Dein Button wieder sichtbar ist.
Nachtrag
Um den Text in der Grafik besser lesen zu können, entweder in einem neuen Tab öffnen und vergrößern
oder herunterladen und mit beliebigen Bildbetrachter öffnen und vergrößern
Danke für den Tip! Und lies bitte nochmal #49.
Och komm, wenn Du eine Deklaration einer Variable löschst oder auskommentierst,
ist es doch logisch, dass irgendeine Funktion, die genau auf diese zugreift, nicht mehr funktioniert.
Dann hast Du im zweiten Versuch genau diese Funktion "gelöscht" und das Skript hat dennoch irgendetwas gemacht.
Glück gehabt. (Dass die Verwendung des zweiten Aufrufs genau dieser Variable, das Skript nicht in den Abgrund gerissen hat)
Genau deshalb schrieb ich, schau mal in die Konsole, es wird mit Sicherheit dort ein Fehler aufgeführt!
Das bedeutet, dass das Skript dann eben NICHT fehlerfrei funktioniert, auch wenn es scheinbar tut, was es soll.
der Erweiterungsbutton im privaten Modus gar nicht vorgesehen ist
Er ist bei mir nur dadurch nicht vorhanden, weil ich ein Skript für eine neue zusätzliche Leiste verwende.
Erst ab Fx 137 ist er wieder vorhanden.
Sorry, kleines Missverständnis!
Habe ich nun reproduzieren können!
ist das Standardverhalten.
Richtig.
Hier im Thread geht es aber u.a. darum, dass der Erweiterungsbutton nicht angezeigt wird (in einen neuen/privaten Fenster), bzw. keine Funktion hat, wenn man ihn auf eine eigene andere Leiste zieht.
Erst ab Fx 137 funktioniert das.
Je mehr ich mich mit der Zusatzleiste und dem verschiebbaren Erweiterungsbutton beschäftige,
desto weniger verstehe ich die Problematik!
Normal, (136) gibt es diesen Button im privaten Modus gar nicht!
Mit Skript zum Verschieben, ist er da, hat aber eine andere Funktion. Neuer Tab, "about:addons"
Mit Zusatzleiste und dahin verschobenen Erweiterungsbutton, ist dieser wieder ohne Funktion.
Nun kommt das FixSkript zum Einsatz, und der Erweiterungsbutton hat wieder eine Funktion,
jedoch öffnet er wieder einen neuen Tab mit "about:addons"!
Nun wage ich mal eine steile Aussage!
Da der Erweiterungsbutton auf Firefox interne Funktionen zum Aufrufen des Popups zu greift
und der Erweiterungsbutton im privaten Modus gar nicht vorgesehen ist,
werden wir das auch gar nicht hinbekommen!
Nachtrag, auch in der Nightly (138.0a1 (2025-03-15)) verhält es sich wie beschrieben.
Die Variable wird zweimal angewand : In Zeile 24 sowie in Zeile 37.
Dann schau mal in die Konsole, da wird mit Sicherheit ein Fehler ausgeworfen!
Das mit der Deklaration der Variable hat schon seine Richtigkeit!
Nutze doch einfach "Visual Studio Code". Dieser Editor zeigt Dir "echte" Fehler an
und Du musst nicht im Dunklen herumstochern und Fehler finden, wo gar keine sind.
nur hat diese im privaten Modus hier bei mir eine andere Funktion!
darum geht es ja auch teilweise in diesem Thread
Auch in einem neuen Fenster funktioniert es nicht.
Ach so!
Weil im gezeigten Clip von BrokenHeart , Beitrag #35, scheint ja alles in bester Ordnung zu sein.
Apropos, auch im aktuellen Firefox (136.0.1) verhält sich der Button so merkwürdig
im privaten Modus. Nicht nur in der Nightly.
Es geht hier nur! um den Erweiterungsbutton
Ja, nur hat diese im privaten Modus hier bei mir eine andere Funktion!
Wahrscheinlich funkt mir da irgendein anderes Skript dazwischen.
Werde ich aber nicht extra suchen, weil ich nur sehr selten den privaten Modus nutze.
Und ich klinke mich hier besser mal aus, sonst sorge ich nur für Verwirrung.
OK, jetzt hat der Button in der "Neue Leiste" eine Funktion.
Im "normalen" Modus, wie gewünscht.
Im "privaten" Modus öffnet sich aber ein Tab (about:addons) Ich steige besser hier an der Stelle mal aus, bevor ich für noch mehr Verwirrungen sorge.
Aber Danke.
Mh, ich verstehe hier z.Z. nur Bahnhof, sorry.
Das von Dir BrokenHeart gepostete Skript funktioniert hier genauso wenig wie mein eigenes.
Jedoch schriebst Du etwas von einem FIX (FixToolbarButtons.uc.js').
Nur wo finde ich dieses Skript?
Hier im Board in der Suche eingegeben, habe ich es nicht gefunden.
Ich würde gerne die Problematik nachvollziehen können.
Ok, es kann nicht funktionieren, weil das Aufrufen des Popups eine interne Funktion ist.
Füge ich z.B.
// Füge den Event-Listener hinzu, um das Popup auszulösen
menuButton.addEventListener('click', function() {
// Öffne das Popup oder führe eine gewünschte Aktion aus
window.gBrowser.selectedTab = window.gBrowser.addTab("about:addons", {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
});
ein, wird sehr wohl der Tab about:addons geöffnet.
Wie man an die Funktion zum Öffnen des Popups kommt, entzieht sich leider meiner Kenntnis.
Sonst könnte ich (man) ja das Problem lösen.
Zum Test:
(function() {
if (!window.gBrowser) return;
/* Konfiguration */
let origID = "unified-extensions-button"// ID des originalen Buttons
let label = "Erweiterungen"
let tooltiptext = label; // auch eigener Text möglich, dieser in Anführungszeichen
/* Ende Konfiguration */
let menuButton = document.getElementById(origID)
let buttonID = 'ucjs_' + origID;
if (!CustomizableUI.getPlacementOfWidget( buttonID )) {
try {
CustomizableUI.createWidget({
id: buttonID,
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
toolbaritem.id = buttonID;
toolbaritem.className = 'chromeclass-toolbar-additional';
toolbaritem.setAttribute('label', label);
/*
toolbaritem.addEventListener('click', function() {
// Hole das aktuelle gBrowser und öffne einen neuen Tab mit dem SystemPrincipal
window.gBrowser.selectedTab = window.gBrowser.addTab("about:addons", {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
});
*/
return toolbaritem;
}
});
if (!CustomizableUI.getPlacementOfWidget( buttonID )) {
menuButton.style.display = 'none';
return;
};
} catch(e) {
menuButton.style.display = 'none';
return;
};
};
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
#unified-extensions-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
width: 28px !important;
height: 28px !important;
fill: #FF00FF !important;
fill-opacity: 1 !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
setTimeout(function() {
document.getElementById(buttonID).appendChild(menuButton),
menuButton.setAttribute('consumeanchor', buttonID);
menuButton.setAttribute('label', label);
menuButton.setAttribute('tooltiptext', tooltiptext);
// Füge den Event-Listener hinzu, um das Popup auszulösen
menuButton.addEventListener('click', function() {
// Öffne das Popup oder führe eine gewünschte Aktion aus
window.gBrowser.selectedTab = window.gBrowser.addTab("about:addons", {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
});
}, 0);
}());
Alles anzeigen
Ah, verstehe.
Andere Skripte funktionieren in dieser neuen Leiste,
nur eben jenes nicht.
Komme leider auch nicht dahinter, woran das liegt.
Hast Du mal dieses Skript für mich?
Oder einen Linkt dazu?
2002Andreas Was heißt "unten links" ?
Ich habe den Button oben in die Menüleiste geschoben, funktioniert.
In die Tableiste, funktioniert.
Und in der Navbar funktioniert es sowieso.
Auch in der PersonalToolbar funktioniert der Button.
Verstehe ich da etwas falsch?
Der Button für die Erweiterungen ist bei mir verschiebbar
und er funktioniert!
In der 136.0.1 sowie in der 138.0a1 ohne Probleme.
(function() {
if (!window.gBrowser) return;
/* Konfiguration */
let origID = "unified-extensions-button"// ID des originalen Buttons
let label = "Erweiterungen"
let tooltiptext = label; // auch eigener Text möglich, dieser in Anführungszeichen
/* Ende Konfiguration */
let menuButton = document.getElementById(origID)
let buttonID = 'ucjs_' + origID;
if (!CustomizableUI.getPlacementOfWidget( buttonID )) {
try {
CustomizableUI.createWidget({
id: buttonID,
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
toolbaritem.id = buttonID;
toolbaritem.className = 'chromeclass-toolbar-additional';
toolbaritem.setAttribute('label', label);
return toolbaritem;
}
});
if (!CustomizableUI.getPlacementOfWidget( buttonID )) {
menuButton.style.display = 'none';
return;
};
} catch(e) {
menuButton.style.display = 'none';
return;
};
};
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
#unified-extensions-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
width: 28px !important;
height: 28px !important;
fill: #FF00FF !important;
fill-opacity: 1 !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
setTimeout(function() {
document.getElementById(buttonID).appendChild(menuButton);
menuButton.setAttribute('consumeanchor', buttonID);
menuButton.setAttribute('label', label);
menuButton.setAttribute('tooltiptext', tooltiptext);
}, 0);
}());
Alles anzeigen