Beiträge von Mira_Belle
-
-
-
moonson Braucht es überhaupt das zweite Skript?
Ich habe gerade alle meine Skripte deaktiviert und bei Doppelklick in die Tableiste öffnet sich ein neuer Tab. -
Zum Zeitpunkt #7 wurde Firefox 140.0.2 noch nicht verteilt.
Komisch, habe es um ca. viertel nach 18:00 Uhr per "erzwungenem" Update bekommen.
Können auch 5 Min. später gewesen sein. -
SuperDAU#0815 Bitte, bitte stell nun endlich Deinen kompletten CSS-Code hier rein.
Wie Horstmann schon schrieb, es wäre möglich, dass sich Anpassungen in die Quere kommen.
Und ich verstehe absolut nicht, warum Du Dich so zierst.
Du möchtest geholfen bekommen, dann hilf uns, Dir helfen zu können
und poste nicht nur irgendwelche Codeschnipsel und Bildchen, die absolut nichts aussagen.
Danke.Ich verwende keinen weiteren Code, der in die "Geometrie" der Leisten etc eingreift.
Sagst Du! Lass es uns überprüfen.
-
Firefox 140.0.2 wurde veröffentlicht!
Bugfix, wegen möglichen diverse Abstürze. -
-
-
-
Noch mal eine Frage in die Runde!
Warum nicht das PowerShell-Skript?
Einmal ausgeführt und der FF ist JavaScript fähig.Es könnte so einfach sein.
-
Und warum nicht mit dem PowerShell-Skript?
-
Zwei Dumme, ein Gedanke!
Toll, wenn es nun funktioniert!Vielleicht solltest du den Script-Header aktualisieren....
Eventuell so gar mit Datum? 2025.06.18

Werde ich so machen.Neu:
JavaScript
Alles anzeigen// ==UserScript== // @name newTabFromHistory.uc.js // @namespace https://www.camp-firefox.de/forum/viewtopic.php?p=1090093#p1090093 // @description Links aus Chronik in neuem Tab öffnen // @author aborix // @Source https://www.camp-firefox.de/forum/thema/138013/?postID=1251376#post1251376 // @Source_new https://www.camp-firefox.de/forum/thema/139502/?postID=1273989#post1273989 // @compatibility 139+ // @version 0.0.5 date 2025.06.18 // ==/UserScript== (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) { let window = aEvent.target.ownerGlobal; let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow(); let where = window.BrowserUtils.whereToOpenLink(aEvent, false, true); if (this.loadBookmarksInTabs) { if (where == 'current' && !aNode.uri.startsWith('javascript:')) { where = 'tab'; } if (where == 'tab' && browserWindow.gBrowser.selectedTab.isEmpty) { where = 'current'; } } this._openNodeIn(aNode, where, window); } let onPopupshowing = function () { let historyMenu = document.getElementById('history-menu'); if (!historyMenu._placesView) { new HistoryMenu(event); historyMenu._placesView._onCommand = function HM__onCommand(aEvent) { let placesNode = aEvent.target._placesNode; if (placesNode) { PlacesUIUtils.openNodeWithEvent(placesNode, aEvent); } } } } let historyPopup = document.getElementById('historyMenuPopup'); historyPopup?.addEventListener('popupshowing', onPopupshowing); })(); -
Ersetze Zeile 17 bis 20 mit:
JavaScript
Alles anzeigenlet browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow(); let where = window.BrowserUtils.whereToOpenLink(aEvent, false, true); if (this.loadBookmarksInTabs) { if (where == 'current' && !aNode.uri.startsWith('javascript:')) { where = 'tab'; } if (where == 'tab' && browserWindow.gBrowser.selectedTab.isEmpty) { where = 'current'; } } this._openNodeIn(aNode, where, window); }Ich garantiere aber für nichts und weiß auch nicht, ob es funktioniert.
-
Und wie ist es mit dieser, neueren Version?
JavaScript
Alles anzeigen// ==UserScript== // @name newTabFromHistory.uc.js // @namespace https://www.camp-firefox.de/forum/viewtopic.php?p=1090093#p1090093 // @description Links aus Chronik in neuem Tab öffnen // @author aborix // @Source https://www.camp-firefox.de/forum/thema/138013/?postID=1251376#post1251376 // @compatibility 127+ // @version 0.0.4 // ==/UserScript== (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) { let window = aEvent.target.ownerGlobal; // let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow(); let where = 'tab'; // Always open in a new tab this._openNodeIn(aNode, where, window); } let onPopupshowing = function () { let historyMenu = document.getElementById('history-menu'); if (!historyMenu._placesView) { new HistoryMenu(event); historyMenu._placesView._onCommand = function HM__onCommand(aEvent) { let placesNode = aEvent.target._placesNode; if (placesNode) { PlacesUIUtils.openNodeWithEvent(placesNode, aEvent); } } } } let historyPopup = document.getElementById('historyMenuPopup'); historyPopup.setAttribute('onpopupshowing', '(' + onPopupshowing.toString() + ')()'); })(); -
Also wäre dann das Skript z.Z. wie folgt abzuändern:
JavaScript(function () { if (location.href !== 'chrome://mozapps/content/downloads/unknownContentType.xhtml') return; const { FileUtils } = ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs'); const { setTimeout } = ChromeUtils.importESModule('resource://gre/modules/Timer.sys.mjs'); setTimeout(function () { ...Richtig?
-
-
Hi harff182 Sorry, ich war wohl etwas neben der Spur!
Die von mir gepostete Skripte rufen "about:about" auf
und nicht wie von Dir gewünscht den Dialog "Über Firefox"
Bitte vielmals um Entschuldigung, wenn ich für Verwirrungen und/oder Irritationen gesorgt habe.
-
Schau Dir dieses Skript einmal an!
JavaScript
Alles anzeigen// JavaScript Document // QuickLinkButton-about:about.uc.js = Button_for_QuickLinks-about.uc.js // Source file https://www.camp-firefox.de/forum/thema/135613/?postID=1213791#post1213791 // Source file https://www.camp-firefox.de/forum/thema/139289/?postID=1271890#post1271890 /* ----------------------------------------------------------------------------------- */ /* Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen */ /* %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons */ /* ----------------------------------------------------------------------------------- */ (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'link-button-about', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let props = { id: 'link-button-about', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'Quicklink: about:about', tooltiptext: 'Quicklink:\nabout:about', }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); } catch(e) {}; document.getElementById('link-button-about').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn("about:about", "tab") } }); // Pfad zum Profilordner let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Pfad in den entsprechenden Unterordner let IconPath = '/chrome/icons/'; // Name & Dateiendung des anzuzeigenden Symbols! let ButtonIcon = "firefox.svg"; // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann let img = new Image(); img.src = "file:" + ProfilePath + IconPath + ButtonIcon; img.onload = function() { // Wenn die Grafik geladen werden kann, setze das listStyleImage document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")'; document.getElementById('link-button-about').style.fill = '#f1b508'; // Hier wird die Iconfarbe direkt gesetzt }; img.onerror = function() { // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")'; document.getElementById('link-button-about').style.fill = 'red'; // Hier wird die Iconfarbe direkt gesetzt }; })();Oder dieses:
JavaScript
Alles anzeigen// JavaScript Document // aboutabout-button.uc.js (function() { var css =` #aboutabout-ToolBarButton > image { display: none !important; } #aboutabout-ToolBarButton > label { display: flex !important; background-color: lightgreen !important; color: red !important; outline: 1px solid red !important; outline-offset: -1px !important; } #aboutabout-ToolBarButton:hover > label { background-color: green !important; color: cyan !important; outline: 1px solid purple !important; outline-offset: -1px !important; } `; var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET); if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'aboutabout-ToolBarButton', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'aboutabout-ToolBarButton', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'About:About', tooltiptext: 'About:About', /* style: 'list-style-image: ', */ //onclick: 'if (event.button == 0) { \ // openTrustedLinkIn("about:about", "tab");\ // }; ' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); /* Fix1 */ //toolbaritem.addEventListener('click', event => { // if (event.button == 0) { // openTrustedLinkIn("about:about", "tab"); // } //}); /* Bis hier */ return toolbaritem; } }); } catch(e) { }; /* Fix 2 */ document.getElementById('aboutabout-ToolBarButton').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn('about:about',"tab"); } }); /* Bis hier */ })();Beide erstellen einen "Button" um den about-Dialog aufzurufen.
-
-
jizz Please complete your idea in a whole script.
Because I can't really do much with the code snippet.