userChrome.js Scripte für den Fuchs (Diskussion)

Schrauberecke: Hier geht es um optische und funktionelle Veränderungen (ohne Themes oder Personas) von Firefox oder von Webseiten per CSS-Codes oder JavaScript.
Benutzeravatar
Sören Hentzschel
Administrator
Beiträge: 18750
Registriert: Mi, 23. Nov 2011 0:39
Wohnort: Salzburg
Kontaktdaten:

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1966

Beitrag von Sören Hentzschel » Do, 15. Nov 2018 13:08

Zur Erklärung, falls das Thema noch öfter aufkommt: Das betrifft sämtliche Scripts, welche Toolbars implementieren, in welcher Form auch immer. Grund dafür ist https://bugzilla.mozilla.org/show_bug.cgi?id=1505734. Beim Aufruf von CustomizableUI.registerArea() wurde vorher eine Logik automatisch im Hintergrund ausgeführt, die nun nicht mehr automatisch ausgeführt wird und jetzt durch CustomizableUI.registerToolbarNode() manuell ausgelöst werden muss. Als Parameter wird der Funktion CustomizableUI.registerToolbarNode() das Toolbar-Element übergeben. Wenn es also z.B.

Code: Alles auswählen

var tb = document.createElement('toolbar');
im Code heißt, würde man

Code: Alles auswählen

CustomizableUI.registerToolbarNode(tb);
schreiben.


Meine Beiträge zum Firefox-Quellcode (4 Beiträge; Letzter Beitrag: 05.09.2018)

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1967

Beitrag von 2002Andreas » Do, 15. Nov 2018 14:01

Sören Hentzschel hat geschrieben:
Do, 15. Nov 2018 13:08
Zur Erklärung
Danke :klasse:
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
ArisCTR
Mitglied
Beiträge: 242
Registriert: Sa, 22. Mär 2014 1:09

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1968

Beitrag von ArisCTR » Do, 15. Nov 2018 16:54

Sören Hentzschel hat geschrieben:
Do, 15. Nov 2018 13:08
...

Code: Alles auswählen

CustomizableUI.registerToolbarNode(tb);
...
Danke für den Hinweis.

Benutzeravatar
Endor
Senior-Mitglied
Beiträge: 12093
Registriert: Fr, 20. Apr 2007 15:41
Wohnort: Irgendwo ganz weit im Süden und doch mitten in den Bergen
Kontaktdaten:

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1969

Beitrag von Endor Themen-Starter » Do, 15. Nov 2018 17:25

Bräuchte auch mal kurz Hilfe für den Nightly.
Wir haben einige Scripte hier, die so eine Schaltfläche für die Symbolleiste einbauen:

hier als Beispiel aus dem Script usercssloader.uc.js:

Code: Alles auswählen

		CustomizableUI.createWidget({
			id: 'usercssloader-menu-item',
			type: 'custom',
			defaultArea: CustomizableUI.AREA_MENUBAR,
			onBuild: function(aDocument) {
				let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
				toolbaritem.id = 'usercssloader-menu-item';
				toolbaritem.className = 'chromeclass-toolbar-additional';
				return toolbaritem;
			}
		});
		$('usercssloader-menu-item').appendChild(cssmenu);
Wie müsste man das ändern, damit die Schaltfläche im Nightly wieder auftaucht.
Mfg.
Endor
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0.1) Gecko/20100101 Firefox/63.0.3
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/Firefox/64.0b12
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/Firefox/65.0a1

OS: Windows 7 H. P. 64 Bit Versions Info Stand 23.11.2018
Kein Support per PN. Fragen bitte im Forum stellen!

Benutzeravatar
Boersenfeger
Senior-Mitglied
Beiträge: 52346
Registriert: So, 21. Mär 2004 13:21
Wohnort: Brunswiek anne Oker dranne

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1970

Beitrag von Boersenfeger » Do, 15. Nov 2018 18:53

Dieses Script funktioniert hier....
Da braucht nichts geändert werden... nur wenn eine LEISTE eingebaut werden soll, ist die zusätzlich Codezeile nötig...

Falls du die Statusleiste nutzt, muss das entsprechende Script ergänzt werden:
Ohne der Ergänzung war alles verhagelt....
Letzter Eintrag:

Code: Alles auswählen

  CustomizableUI.registerToolbarNode(tb);

Code: Alles auswählen

/* Statusleiste für Firefox 65.0 + x */


(function() {

  if (location != 'chrome://browser/content/browser.xul')
    return;
    
  var tb = document.createElement('toolbar');
  tb.id = 'new-toolbar';
  tb.setAttribute('customizable', true);
  tb.setAttribute('mode', 'icons');

  var vbox = document.createElement('vbox');
  document.getElementById('navigator-toolbox').parentNode.insertBefore(
    vbox, document.getElementById('browser-bottombox'));
  vbox.style.backgroundColor = '#ffe4c4';
  vbox.appendChild(tb);

  CustomizableUI.registerArea('new-toolbar', {legacy: true});
  CustomizableUI.registerToolbarNode(tb);
})();
Stand 10.12.2018
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:63.0) 20100101 Firefox/63.0.3
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:64.0) 20181207 Firefox/64.0rc1build3
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:65.0) 20181210 Firefox/65.0a1

Meine Füchse|Fehlersuche|Anleitung für Fragen im Forum|Sicherheitskonzept für Windowsnutzer

Benutzeravatar
ArisCTR
Mitglied
Beiträge: 242
Registriert: Sa, 22. Mär 2014 1:09

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1971

Beitrag von ArisCTR » Fr, 16. Nov 2018 16:02

@Sören
@Boersenfeger

Leider scheint ein derartiger Code doch noch nicht die 100%ge Lösung zu sein.

Code: Alles auswählen

  CustomizableUI.registerArea('toolbar_name', {legacy: true});
  CustomizableUI.registerToolbarNode(tb);
Zwar funktionieren Leisten, die so erstellt wurden, jedoch funktioniert dann der Internetinhalt in weiteren Browserfenstern nicht mehr in der Nightly. Seiten werden zwar geladen aber nicht angezeigt.

1.png
Keine Ahnung, ob das nur bei mir so ist.

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1972

Beitrag von 2002Andreas » Fr, 16. Nov 2018 17:01

ArisCTR hat geschrieben:
Fr, 16. Nov 2018 16:02
Keine Ahnung, ob das nur bei mir so ist.
Hallo Aris...

ich nutze 2 verschiedene Profile vom Nightly.
In einem davon habe ich nur die Add-on Leiste..Restart..chrome und Profilordner als Script...und alles funktioniert einwandfrei.

In dem anderen Profil nutze ich rund 30 Scripte incl. der Add-on Leiste, und da kann ich das Verhalten bestätigen. Die erste aufgerufene Seite bleibt hier leer, erst an der 2ten Seite (Lesezeichen anklicken) wird der Text angezeigt.
Starte ich gleich mit 2 Seiten, ist die erste leer, im 2ten Tab wird dann alles einwandfrei angezeigt.

Starte ich dieses Profil im abgesicherten Modus, oder wenn ich alle Scripte entferne, (chrome Ordner umbenannt) bleibt das Verhalten mit der ersten Seite trotzdem so.
Warum das so ist habe ich bis jetzt zumindest noch nicht rausgefunden. :-??
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
Boersenfeger
Senior-Mitglied
Beiträge: 52346
Registriert: So, 21. Mär 2004 13:21
Wohnort: Brunswiek anne Oker dranne

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1973

Beitrag von Boersenfeger » Fr, 16. Nov 2018 17:32

Ich arbeite nur mit Tabs und da funktioniert mit u.a. Code alles einwandfrei.... :)
Stand 10.12.2018
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:63.0) 20100101 Firefox/63.0.3
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:64.0) 20181207 Firefox/64.0rc1build3
Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:65.0) 20181210 Firefox/65.0a1

Meine Füchse|Fehlersuche|Anleitung für Fragen im Forum|Sicherheitskonzept für Windowsnutzer

Benutzeravatar
aborix
Senior-Mitglied
Beiträge: 4151
Registriert: So, 06. Sep 2009 0:57

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1974

Beitrag von aborix » Fr, 16. Nov 2018 20:16

Bei mir wird ab dem zweiten Fenster in dem Tab, der beim Öffnen des Fensters im Vordergrund ist, die Seite nicht angezeigt. Folgender Workaround scheint zu helfen; der Code kommt nach den CustomizableUI-Anweisungen hinzu:

Code: Alles auswählen

  let tab = gBrowser.selectedTab;
  gBrowser.duplicateTab(tab);
  gBrowser.removeTab(tab);

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1975

Beitrag von 2002Andreas » Sa, 17. Nov 2018 9:55

Hallo @aborix...
Ich starte mein Nightly mit 3 Tabs.
1. Startseite Forum
2.Unterforum Allgemein
3.Wer ist online

Die Seite 1 wird mir leer angezeigt, die anderen beiden sind ok.

Wenn ich deinen Zusatz in das Script einfüge, dann..

startet die Seite Allgemein mit Inhalt
wer ist online mit Inhalt
und ein neuer Tab ohne Inhalt

Die Startseite vom Forum wird gar nicht mehr angezeigt bzw. aufgerufen :-??
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
aborix
Senior-Mitglied
Beiträge: 4151
Registriert: So, 06. Sep 2009 0:57

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1976

Beitrag von aborix » Sa, 17. Nov 2018 10:16

Wie ist es mit etwas Verzögerung, z.B. 500 ms:

Code: Alles auswählen

  setTimeout(function() {
    let tab = gBrowser.selectedTab;
    gBrowser.duplicateTab(tab);
    gBrowser.removeTab(tab);
  }, 500);

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1977

Beitrag von 2002Andreas » Sa, 17. Nov 2018 10:20

Hallo aborix..

ändert nichts, es bleibt bei dem fehlenden Tab der Foren Startseite.
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1978

Beitrag von 2002Andreas » Sa, 17. Nov 2018 10:23

Das eigenartige ist ja auch, nur in diesem einen Profil vom Nightly ist das so. In dem anderen funktioniert alles einwandfrei ohne deinen Zusatz.

Und selbst wenn ich alle Scripte deaktiviere ändert sich nichts. Als wenn etwas im Profil hängen bleibt trotz abges. Modus :-??
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
aborix
Senior-Mitglied
Beiträge: 4151
Registriert: So, 06. Sep 2009 0:57

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1979

Beitrag von aborix » So, 18. Nov 2018 16:53

Mit 500 ms funktioniert es bei mir auch nicht immer, mit 1 Sekunde schon. Mein Vorschlag: Teste in einem neuen Profil im normalen und abgesicherten Modus. Wenn im normalen Modus Seiten nicht zu sehen sind, teste mit dem Code aus #1976 mit Timeout-Werten bis zu 5 Sekunden.

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38983
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: userChrome.js Scripte für den Fuchs (Diskussion)

#1980

Beitrag von 2002Andreas » So, 18. Nov 2018 17:03

Hallo aborix...

vorweg erstmal herzlichen Dank für deine Hilfe :klasse:
aborix hat geschrieben:
So, 18. Nov 2018 16:53
Teste in einem neuen Profil
In meinem anderen Nightly Profil funktioniert alles einwandfrei auch ohne den Zusatz im Script.

Jetzt habe ich die Zeitverzögerung mal auf 1500 gesetzt...alles wieder fast ok :D :klasse:

Nur jetzt hat sich die Reihenfolge der Tabs beim Erststart verändert. Die Forenstartseite ist jetzt der 3te Tab, also der letzte statt der erste, aber das stört nicht wirklich.
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste