Alles Gute!
Beiträge von aborix
-
-
Die Beschreibung war an bereits skripterfahrene Benuzter gerichtet und deswegen knapp.
Versuche es nochmal nach dieser ausführlichen Anleitung:
https://github.com/Endor8/userChr…ster/userChrome -
-
Hallo,
teste mit diesen Änderungen: https://www.camp-firefox.de/forum/viewtopi…050273#p1050273
-
In die userChrome.css:
Genaueres zur userChrome.css siehe https://www.camp-firefox.de/forum/viewtopi…049824#p1049824
-
-
In der config.js füge nach der ersten Zeile ein:
Die erste Zeile ist eine Kommentarzeile und muss so bleiben.In der userChromeJS.js füge vor der ersten Zeile ein:
Nach dem Start öffne mit Strg+Umschalt+J die Browserkonsole und dort sollten die Meldungen stehen.
-
Kleine Bemerkung zum Skript aus #948:
Zeile 49:
Zitat
} catch(e) { };würde ich so abändern:
Bei mehreren Fenstern wird der CSS-Teil dann nur im ersten Fenster ausgeführt, was in diesem Fall genügt. Hat man ohnehin nur ein Fenster, ist es egal.
-
ich hab da was gefunden auf/in GitHub "setCurrentProfileNameToTitlebar.uc.js"
könnte das auch in Fx Nightly 58.0a1 gehen? (da mein Addon (Add-ons) dafür nicht mehr geht)
vielleicht für die Menüleiste!?
Teste folgendes Skript, du kannst das Ding in den Leisten (fast) beliebig verschieben:
Code
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; function getCurrentProfileName(){ function readFile(aFile){ var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); stream.init(aFile, 0x01, 0, 0); var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream); cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); var content = "", data = {}; while (cvstream.readString(4096, data)) { content += data.value; } cvstream.close(); return content.replace(/\r\n?/g, "\n"); } var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile); var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile); ini.append("profiles.ini"); var ini = readFile(ini); var profiles = ini.match(/Name=.+/g); var profilesD = ini.match(/Path=.+/g); for ( var i = 0; i < profiles.length;i++) { if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) { profiles[i].match(/Name=(.+)$/); return RegExp.$1; } } return null; }; try { CustomizableUI.createWidget({ id: 'profile-name', type: 'custom', defaultArea: CustomizableUI.AREA_MENUBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem'); toolbaritem.id = 'profile-name'; toolbaritem.className = 'chromeclass-toolbar-additional'; toolbaritem.setAttribute('label', 'Profil-Name'); var label = document.createElement('label'); label.setAttribute('value', getCurrentProfileName()); toolbaritem.appendChild(label); return toolbaritem; } }); } catch(e) { }; })();
-
Bei mir wird schon ewig lange nix in neuen Fenstern geöffnet, ausser ich will es ausdrücklich, darum weiß ich das.
Hier steht es genau beschrieben:
Mozillazine KB - browser.link.open_newwindow.restriction -
Wenn target="_blank" verwendet wird, bitte immer auch rel="noopener" verwenden, ansonsten führt man eine Sicherheitslücke ein…Danke! Ich erinnere mich, das einmal gelesen zu haben, habe es aber dann wieder vergessen.
Also nochmal neue Versionen der beiden Skripte, jetzt mit rel="noopener".
Das zweite Skript ist sicherer, denn es fügt auch den Links, die von der Seite her bereits target="_blank" haben, rel="noopener" hinzu. Das erste Skript macht das nicht.Code
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; var frameScript = function() { addEventListener('DOMContentLoaded', function(event) { var document = event.target; function getAnchor(element) { while (element && element.nodeName != "A") { element = element.parentNode; } return element; } document.addEventListener("click", function(e){ var anchor = getAnchor(e.target); if (!anchor || anchor.target || anchor.protocol == "javascript:" || e.isTrusted === false || !anchor.offsetParent || (e.isTrusted == null && !e.detail)) { return; } if (anchor.hostname != document.location.hostname) { anchor.target = "_blank"; anchor.rel = "noopener"; } }); }); }; var frameScriptURI = 'data:,(' + frameScript.toString() + ')()'; window.messageManager.loadFrameScript(frameScriptURI, true); })();
Code
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; var frameScript = function() { addEventListener('DOMContentLoaded', function(event) { var document = event.target; var hostname = document.location.hostname; var links = document.getElementsByTagName('a'); for (var link of links) { if (link.hostname != hostname && link.protocol != 'javascript:') { link.target = '_blank'; link.rel = 'noopener'; } }; }); }; var frameScriptURI = 'data:,(' + frameScript.toString() + ')()'; window.messageManager.loadFrameScript(frameScriptURI, true); })();
-
Bis Fx 56 lässt du (von TMP) jeden Link in einem neuen Tab öffnen, richtig?
Und mit Fx 57 und 58 nicht (weil dort TMP nicht funktioniert), auch richtig? -
in einem neuen Profil ohne Erweiterungen, aber mit den verschiedenen auch im Arbeitsprofil installierten Scripten klappt alles wie es soll. Der Supportnet-Link wird wie gewünscht in einem neuen Tab geöffnet.Gilt das für beide Skripte oder nur für das zweite?
Denn im ersten Skript ist tatsächlich ein Fehler, der sich allerdings nicht auf alle Links auswirkt. Der Supportnet-Link wird bei mir im gleichen Tab geöffnet.
Korrigiertes Skript, funktioniert auch beim Supportnet-Link:
Code
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; var frameScript = function() { addEventListener('DOMContentLoaded', function(event) { var document = event.target; function getAnchor(element) { while (element && element.nodeName != "A") { element = element.parentNode; } return element; } document.addEventListener("click", function(e){ var anchor = getAnchor(e.target); if (!anchor || anchor.target || anchor.protocol == "javascript:" || e.isTrusted === false || !anchor.offsetParent || (e.isTrusted == null && !e.detail)) { return; } if (anchor.hostname != document.location.hostname) { anchor.target = "_blank"; } }); }); }; var frameScriptURI = 'data:,(' + frameScript.toString() + ')()'; window.messageManager.loadFrameScript(frameScriptURI, true); })();
-
Die Skripte aus #9 fügen Links mit einer anderen Domain als die der Seite das Attribut 'target="_blank"' hinzu, was bewirkt, dass sie in einem neuen Tab geöffnet werden.
Links mit der gleichen Domain bleiben unverändert und werden im selben Tab geöffnet, sofern von der Seite nicht anders festgelegt: durch 'target="_blank"' oder einer anderen Methode.
Was mir nicht klar ist: Was können die Skripte nicht, was sie können sollen? -
Setze den Haken wie in #887 und zusätzlich setze browser.link.open_newwindow.restriction auf 0.
-
Einen eigenen Code, damit die URL-Bar in jedem Browserfenster immer automatisch die freie Breite einnimmt gibt es nicht?Versuche für die Adressleiste anstatt des bisherigen das folgende Codestück:
Code
Alles anzeigen// Adressleiste verschiebbar try { CustomizableUI.createWidget({ id: 'ucjs_urlbar-item', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem'); toolbaritem.id = 'ucjs_urlbar-item'; toolbaritem.className = 'chromeclass-toolbar-additional'; toolbaritem.setAttribute('label', 'Adressleiste'); toolbaritem.setAttribute('flex', '1'); return toolbaritem; } }); } catch(e) { }; document.getElementById('ucjs_urlbar-item').appendChild(document.getElementById('urlbar-container'));
-
Ok. Wenn die Buttons in drei Wochen immer noch wandern, melde dich.
-
ich habe gemerkt das wen nich den Bihtly 58 öfter auf und zu mache, sind die Vor Zück Button immer woanderesIst das mit dem jetzigen Nightly auch so?
-
Der Code muss in der userContent.css stehen.
Code für die Firefox-Oberfläche steht in der userChrome.css, der für Webseiten in der userContent.css.
-