Guten Abend @Horstmann , wir im Norden würden jetzt sagen: 'Der Weizen wuchs zu nah an der Autobahn.' gN8
Beiträge von Mitleser
-
-
Sören Hentzschel Horstmann 2002Andreas milupo Mitleser .DeJaVu grisu2099 BrokenHeart Endor Dharkness und all die anderen.
Sollte ich jemanden vergessen haben, dann bitte ich um Entschuldigung, es war keine böse Absicht.Nur so als Vorschlag.
Hallo Mira_Belle, ich wundere mich, dass du mich in dieser illustren Aufzählung erwähnst, obwohl meine Scripte 'einfach programmiert' (aber damit auch 'relativ updatesicher') sind und lediglich Alternativen zu den hier schon seit Jahren genutzten (und gepflegten) S. darstellen. Ich werde den Kopf meiner Scripte NICHT ändern. Das kann der User machen und Quelle, Datum, Entwickler hinzufügen. Auch steht in meinen Scripten ein großer Bereich im Haeder zur Konfiguration durch den User zur Verfügung. Eine ausführliche Beschreibung am Anfang des S. ist selbstverständlich. Außerdem kann der User den Pfad zum Icon-Ordner innerhalb des 'chrome-Ordners' selbst festlegen. Wer den absoluten Pfad zum Icon bevorzugt, sollte wissen wie man das S. umschreibt. Oder alternativ einfach einen neuen Ordner innerhalb des 'chrome-Ordners' neu anlegen.
(Wenn der absolute Pfad im Kommentar erklärt werden sollte, dann bitte für Win, Lin, Mac.)Akt. Beispiel-Scripte mit diesen Voraussetzungen:
-
Das Script macht, das man mit rechter Maustaste Videos speichern kann von Youtube.
Dieses Script (als Alternative) macht das ähnlich, allerdings mit einem Linksklick (Das Icon sowie die Funktion schaltet nur im aktiven Fenster) auch in 138+ :
JavaScript
Alles anzeigen// JavaScript Document // B_UserPrefMediaSource.uc.js // Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false). // Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'. // In einem neuen Profil ist die Einstellung in about:config 'media.mediasource.enabled, true' gesetzt. Allerdings werden einige Menuitems im Mediendropdown nicht angezeigt z.B.:'Video speichern unter'. Dieses Script toggelt 'media.mediasource.enabled, true'/'media.mediasource.enabled, false'. Die Einstellung 'media.mediasource.enabled, false' könnte z.B.: auf 'youtube.com' interessant sein ( =>'Video speichern unter'). Bei Livestreams (z.b.: 'ardmediathek.de/live/') kann es bei der Einstellung 'media.mediasource.enabled, false' zu Fehlermeldungen der Seite (Wiedergabefehler) kommen. Beim Umschalten wird der Seiteninhalt des AKTIVEN Tabs neu geladen. (function() { if (!window.gBrowser) return; const // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ id = 'UserPref-msE-button', // Id des neuen Buttons boolPref = 'media.mediasource.enabled', // Einstellung in about:config deren boolesche Variable geschaltet werden soll (Wichtig: Beim Umschalten wird der Seiteninhalt des aktiven Tabs neu geladen) labelT = 'Mediendropdown ohne DL-Item (Live-TV)', // Bezeichnung des neuen Buttons bei boolPref=true labelF = 'Mediendropdown mit Dl-Item (Youtube)', // Bezeichnung des neuen Buttons bei boolPref=false tooltiptextT = 'Mediendropdown ohne DownloadItem (Livestream)', tooltiptextF = 'Mediendropdown mit DownloadItem (Youtube)', // Icon------------------------------------------------------- iconT = '16-control-panel-18_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=true iconF = '16-control-panel-20_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=false bgImage = 'magenta', // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons,) iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon beinhaltet iconColorT = 'firebrick', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=true, bei anderen Icons hat const iconColorT keine Funktion) iconColorF = 'forestgreen', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=false, bei anderen Icons hat const iconColorF keine Funktion) // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)); //const end if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) { Services.prefs.setBoolPref('svg.context-properties.content.enabled', true ); } //---- CustomizableUI.createWidget({ id: id, type: 'button', defaultArea: CustomizableUI.AREA_NAVBAR, onCreated: (button) => { button.style.MozContextProperties = 'fill, stroke, fill-opacity'; //bgImage button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);'; //start if (Services.prefs.getBoolPref(boolPref) == false ) { button.style.fill = iconColorF; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")'; button.setAttribute('label', labelF); button.setAttribute('tooltiptext', tooltiptextF); } else if (Services.prefs.getBoolPref(boolPref) == true ) { button.style.fill = iconColorT; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")'; button.setAttribute('label', labelT); button.setAttribute('tooltiptext', tooltiptextT); } //click button.addEventListener('click', () => { if (event.button == 0) { event.target.ownerGlobal.BrowserCommands.reloadSkipCache(); if (Services.prefs.getBoolPref(boolPref) == false ) { button.style.fill = iconColorT; Services.prefs.setBoolPref(boolPref, true); button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")'; button.setAttribute('label', labelT); button.setAttribute('tooltiptext', tooltiptextT); } else if (Services.prefs.getBoolPref(boolPref) == true ) { button.style.fill = iconColorF; Services.prefs.setBoolPref(boolPref, false); button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")'; button.setAttribute('label', labelF); button.setAttribute('tooltiptext', tooltiptextF); } } }); //---- } }); //---- })(); -
Ich weiss immer noch nicht was das Script machen soll, also auch nicht wie ich es selber testen könnte.
Trotz Beschreibung? Ich habe kein Interesse an dieser Art von Diskussion.
-
Nicht bei mir, Problem #1, wie beschrieben.
Erstes Fenster A schliessen, dann in Fenster B probieren.ist damit gleichzeitig auch dieses Problem gelöst?

An Deinem Smily sehe ich, dass Du die Antwort schon kennst. Das war aber auch nicht das Thema in dieser Kommunikation.
-
Dadurch, dass man mit Hilfe des Skriptes eine Einstellung im Firefox ändert, die im gesamten Profil gültig ist, lässt sich letzteres meines Wissens nach nicht verhindern.
Kleine Anmerkung:
Das Script aus RE: userChrome.js Scripte für den Fuchs (Diskussion) funktioniert wie erwartet (Änderung der Animation sowie des Icons ausschließlich im aktiven Fenster). -
Speravir, könnte es auch sein, dass einfach nur der Reload im falschen Fenster stattfindet? Dass z.b.: event.target.ownerGlobal.BrowserCommands.reloadSkipCache();statt BrowserCommands.reloadSkipCache(); schon reichen würde? Über dieses Script diskutierten wir schon mal, und hier geht es:
JavaScript
Alles anzeigen// JavaScript Document // B_UserPrefAnimationMode.uc.js // Das Script erstellt einen Button, der in about:config character/string-Variablen ändert. In der UserConfiguration unter 'const charPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (normal/once/none). // Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'. // In einem neuen Profil ist die Einstellung in about:config 'image.animation_mode, normal' gesetzt. Der Button schaltet per Linksklick einen Zustand weiter (von 'image.animation_mode, normal' auf 'once', von 'once' auf 'none' und von 'none' auf 'normal'. Beim Umschalten wird der Seiteninhalt des AKTIVEN Tabs neu geladen. (function() { if (!window.gBrowser) return; const // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ id = 'UserPref-iA_m-button', // Id des neuen Buttons charPref = 'image.animation_mode', // Einstellung in about:config deren character-Variable geschaltet werden soll labelNorm = 'Normale Gifanimation (Schleife)', // Bezeichnung des neuen Buttons bei charPref=normal labelOnce = 'Einmalige Gifanimation', // Bezeichnung des neuen Buttons bei charPref=once labelNone = 'Keine Gifanimation', // Bezeichnung des neuen Buttons bei charPref=none ttTextNorm = 'Normale Gifanimation (Schleife)', // Tooltiptext ttTextOnce = 'Einmalige Gifanimation', ttTextNone = 'Keine Gifanimation', // Icon------------------------------------------------------- iconNorm = '16-control-panel-20_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für charPref=normal iconOnce = '16-control-panel-19_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols charPref=once iconNone = '16-control-panel-18_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für charPref=none bgImage = '#f9f9f9', // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons) iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon beinhaltet iconColNorm = 'forestgreen', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=normal, bei anderen Icons hat const iconColNorm keine Funktion) iconColOnce = 'goldenrod', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=once, bei anderen Icons hat const iconColOnce keine Funktion) iconColNone = 'firebrick', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=none, bei anderen Icons hat const iconColNone keine Funktion) // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)); //const end if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) { Services.prefs.setBoolPref('svg.context-properties.content.enabled', true ); } //---- CustomizableUI.createWidget({ id: id, type: 'button', defaultArea: CustomizableUI.AREA_NAVBAR, onCreated: (button) => { button.style.MozContextProperties = 'fill, stroke, fill-opacity'; //bgImage button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);'; //start if (Services.prefs.getCharPref(charPref) == 'normal' ) { button.style.fill = iconColNorm; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNorm + '")'; button.setAttribute('label', labelNorm); button.setAttribute('tooltiptext', ttTextNorm); } else if (Services.prefs.getCharPref(charPref) == 'once' ) { button.style.fill = iconColOnce; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconOnce + '")'; button.setAttribute('label', labelOnce); button.setAttribute('tooltiptext', ttTextOnce); } else if (Services.prefs.getCharPref(charPref) == 'none' ) { button.style.fill = iconColNone; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNone + '")'; button.setAttribute('label', labelNone); button.setAttribute('tooltiptext', ttTextNone); } //click button.addEventListener('click', () => { if (event.button == 0) { event.target.ownerGlobal.BrowserCommands.reloadSkipCache(); if (Services.prefs.getCharPref(charPref) == 'normal' ) { Services.prefs.setCharPref(charPref, 'once'); button.style.fill = iconColOnce; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconOnce + '")'; button.setAttribute('label', labelOnce); button.setAttribute('tooltiptext', ttTextOnce); } else if (Services.prefs.getCharPref(charPref) == 'once' ) { Services.prefs.setCharPref(charPref, 'none'); button.style.fill = iconColNone; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNone + '")'; button.setAttribute('label', labelNone); button.setAttribute('tooltiptext', ttTextNone); } else if (Services.prefs.getCharPref(charPref) == 'none' ) { Services.prefs.setCharPref(charPref, 'normal'); button.style.fill = iconColNorm; button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNorm + '")'; button.setAttribute('label', labelNorm); button.setAttribute('tooltiptext', ttTextNorm); } } }); //---- } }); //---- })(); -
-
Hallo FuchsFan , ich habe leider keine Möglichkeiten zum testen im Nightly, habe mich aber mit deinem Problem beschäftigt. Geht das im Nightly? Als Kurzfassung?
-
Mark Knopfler - Going Home- Theme of the Local Hero - Live London
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
-
Zeile 7 + 24 auskommentiert!
Du hast Zeile 7 auskommentiert; also gibt es keine Variablendeklinaton! Das dass nicht klappt sollte dir klar sein.
-
Und wie ich schon einmal schrieb, schau in die Konsole,
da wird mit Sicherheit ein Fehler angezeigt!Die Fehlermeldung hätte ich gerne. Als Screen?
-
Wieso macht man so einen Blödsinn, sich als Nutzer veralteter Browser auszugeben?
Ja , stimmt. Ein Update des AddOns mit aktuellen Browsersignaturen wäre wünschenswert.
wenn man Browserentwickler ist.
Du meintest sicherlich Websiteentwickler, Webdesigner oder auch Onlinedesigner.
-
Mit welcher Firefox Version hast du das denn getestet? Laut deinem User-Agenten hattest du eben Fx 130.
Selbstverständlich 136.01 und jetzt sollte der UserAgent Windows/Chrome128 anzeigen...
EDIT: du testet auf 137/138; nun verstehe ich auch deine Frage...Hier läufts auf 136.01, eine andere Testmöglichkeit habe ich leider nicht
EDIT2: Das AddOn ist hier kontraproduktiv, deshalb habe ich dieses Forum auf die Whitelist gesetzt, mein Fehler... -
-
Und wie ich schon einmal schrieb, schau in die Konsole,
da wird mit Sicherheit ein Fehler angezeigt!Hier nicht. Ist aber auch egal...Hier funzt es so mit allen Verschiebescripts
(PanelUI-button, nav-bar-overflow-button, unified-extensions-button) einwandfrei. Hättest Du mal einen Screen von der Fehlermeldung?JavaScript
Alles anzeigen//B_Move_Extensions.uc.js (function() { if (!window.gBrowser) return; /* Konfiguration */ const origID = "unified-extensions-button",// ID des originalen Buttons label = "Erweiterungen", tooltiptext = "Erweiterungen-Button"; /* Ende Konfiguration */ const menuButton = document.getElementById(origID), 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; } }); } catch(e) { menuButton.style.display = 'none'; return; }; }; setTimeout(function() { document.getElementById(buttonID).appendChild(menuButton); menuButton.setAttribute('consumeanchor', buttonID); menuButton.setAttribute('label', label); menuButton.setAttribute('tooltiptext', tooltiptext); }, 0); }()); -
Das spielt keine Rolle, wie oft die Variable verwendet wird. Wenn du die Variablen-Deklaration in Zeile 7 löschst, was du ja machst, wenn du die Zeile auskommentierst, hast du einen Script-Fehler, sobald du diese verwendest.
Ja, ist klar.
Beide Zeilen (24 und 37) bewirken das gleiche. Also könnte eine gelöscht werden?
Genau Zeile 24 (siehe Beitrag #49) führt bei mir eben zum Verschwinden des Buttons...???
Wenn gelöscht, dann eben nicht; ich empfinde das als schon als sehr merkwürdig.Ich beziehe mich auf diesen Post:
Ich hatte auch zwischenzeitlich wieder einen Zustand, wo der Button wie beim TE ganz verschwunden war.
-
Danke für den Tip! Und lies bitte nochmal #49.
-
Die Variable wird zweimal angewendet: In Zeile 24 sowie in Zeile 37.