Toggle-Button für Javascript

Schrauberecke: Hier geht es um optische und funktionelle Veränderungen (ohne Themes oder Personas) von Firefox oder von Webseiten per CSS-Codes oder JavaScript.
Tanni
Mitglied
Beiträge: 80
Registriert: Do, 19. Aug 2004 10:34

Toggle-Button für Javascript

#1

Beitrag von Tanni Themen-Starter » Fr, 12. Jan 2018 10:10

Ich habe mir einen Toolbar-Button zum ein-/ausschalten von Javascript zusammengebaut.
Falls die Funktionalität auch wer gebrauchen kann, hier das Script dazu:

Code: Alles auswählen

// buttonToggleJavascript.uc.js
(function() {

   if (location != 'chrome://browser/content/browser.xul')
      return;

   try {
      CustomizableUI.createWidget({
         id: 'toolbar-button-js',
         type: 'custom',
         defaultArea: CustomizableUI.AREA_NAVBAR,
         onBuild: function(aDocument) {
            var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
            var attributes = {
               id: 'toolbar-button-js',
               class: 'toolbarbutton-1 chromeclass-toolbar-additional',
               removable: 'true',
               label: 'Javascript ein-/ausschalten',             
               tooltiptext: Services.prefs.getBoolPref('javascript.enabled') ?
                  'Javascript ist eingeschaltet' : 'Javascript ist ausgeschaltet',
               oncommand: '(' + onCommand.toString() + ')()'
            };
            for (var a in attributes) {
               button.setAttribute(a, attributes[a]);
            };
            function onCommand() {
               var isEnabled = !Services.prefs.getBoolPref('javascript.enabled');
               Services.prefs.setBoolPref('javascript.enabled', isEnabled);
               var windows = Services.wm.getEnumerator('navigator:browser');
               while (windows.hasMoreElements()) {
                  let button = windows.getNext().document.getElementById('toolbar-button-js');
                  if (isEnabled)
                     button.setAttribute('tooltiptext', 'Javascript ist eingeschaltet')
                  else
                     button.setAttribute('tooltiptext', 'Javascript ist ausgeschaltet');
               };
            };
            return button;
         }
      });
   } catch(e) { };

   var css =
      '#toolbar-button-js[tooltiptext="Javascript ist eingeschaltet"] {list-style-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDEwMDAgMTAwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwMCAxMDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIiAgaGVpZ2h0PSIxNnB4IiB3aWR0aD0iMTZweCI+DQo8Zz48cGF0aCBmaWxsPSIjNUE1QjVDIiBkPSJNMzk1LDEzMi41SDIyMHY0NjQuOGMwLDExNS0zOS40LDE0Ny4xLTEwOC4xLDE0Ny4xYy0zMi4yLDAtNjEuMS01LjUtODMuNy0xMy4zTDEwLDg2Ny4zQzQyLjIsODc4LjQsOTEuNSw4ODUsMTMwLjEsODg1QzI4Ny43LDg4NSwzOTUsODEwLjksMzk1LDU5OC41VjEzMi41TDM5NSwxMzIuNXoiLz48cGF0aCBmaWxsPSIjNUE1QjVDIiBkPSJNNzc2LjYsMTE1QzYwNy4yLDExNSw1MDAsMjExLjIsNTAwLDMzOC41YzAsMTA5LjYsODIuNiwxNzguMSwyMDIuNywyMjIuNGM4Ni44LDMxLDEyMS4yLDU4LjYsMTIxLjIsMTA0YzAsNDkuOC0zOS43LDgxLjktMTE0LjcsODEuOWMtNjkuNywwLTEzMy0yMy4zLTE3NS45LTQ2LjV2MEw1MDAsODM4LjVjNDAuOCwyMy4zLDExNi45LDQ2LjUsMTk5LjQsNDYuNUM4OTcuOCw4ODUsOTkwLDc3OC44LDk5MCw2NTMuN2MwLTEwNi4yLTU5LTE3NC44LTE4Ni41LTIyMy41Yy05NC40LTM3LjYtMTM0LTU4LjYtMTM0LTEwNi4yYzAtMzcuNiwzNC4zLTcxLjksMTA1LjEtNzEuOWM2OS43LDAsMTE3LjYsMjMuNCwxNDUuNSwzNy44bDQxLjgtMTQwQzkxOC4xLDEzMC44LDg1OS4yLDExNSw3NzYuNiwxMTVMNzc2LjYsMTE1eiIvPjwvZz4NCjwvc3ZnPg==");}' +
      '#toolbar-button-js[tooltiptext="Javascript ist ausgeschaltet"] {list-style-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDEwMDAgMTAwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwMCAxMDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIiAgaGVpZ2h0PSIxNnB4IiB3aWR0aD0iMTZweCI+DQo8Zz48cGF0aCBmaWxsPSIjZmYwMDAwIiBkPSJNMzk1LDEzMi41SDIyMHY0NjQuOGMwLDExNS0zOS40LDE0Ny4xLTEwOC4xLDE0Ny4xYy0zMi4yLDAtNjEuMS01LjUtODMuNy0xMy4zTDEwLDg2Ny4zQzQyLjIsODc4LjQsOTEuNSw4ODUsMTMwLjEsODg1QzI4Ny43LDg4NSwzOTUsODEwLjksMzk1LDU5OC41VjEzMi41TDM5NSwxMzIuNXoiLz48cGF0aCBmaWxsPSIjZmYwMDAwIiBkPSJNNzc2LjYsMTE1QzYwNy4yLDExNSw1MDAsMjExLjIsNTAwLDMzOC41YzAsMTA5LjYsODIuNiwxNzguMSwyMDIuNywyMjIuNGM4Ni44LDMxLDEyMS4yLDU4LjYsMTIxLjIsMTA0YzAsNDkuOC0zOS43LDgxLjktMTE0LjcsODEuOWMtNjkuNywwLTEzMy0yMy4zLTE3NS45LTQ2LjV2MEw1MDAsODM4LjVjNDAuOCwyMy4zLDExNi45LDQ2LjUsMTk5LjQsNDYuNUM4OTcuOCw4ODUsOTkwLDc3OC44LDk5MCw2NTMuN2MwLTEwNi4yLTU5LTE3NC44LTE4Ni41LTIyMy41Yy05NC40LTM3LjYtMTM0LTU4LjYtMTM0LTEwNi4yYzAtMzcuNiwzNC4zLTcxLjksMTA1LjEtNzEuOWM2OS43LDAsMTE3LjYsMjMuNCwxNDUuNSwzNy44bDQxLjgtMTQwQzkxOC4xLDEzMC44LDg1OS4yLDExNSw3NzYuNiwxMTVMNzc2LjYsMTE1eiIvPjwvZz4NCjwvc3ZnPg==");}';	  
   var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
   document.insertBefore(stylesheet, document.documentElement);

})();
Zuletzt geändert von Tanni am Fr, 12. Jan 2018 12:53, insgesamt 2-mal geändert.

EffPeh
Senior-Mitglied
Beiträge: 1570
Registriert: Mi, 04. Okt 2017 10:22

Re: Toggle-Button für Javascript

#2

Beitrag von EffPeh » Fr, 12. Jan 2018 11:11

Schönes Ding. Sehr praktisch. :klasse:
Funktioniert bei mir im FF 57.04 einwandfrei. Lediglich der localhost ignoriert das Script.
Im FF 58 habe ich es noch nicht getestet, aber ich bin relativ sicher, das es dort auch laufen wird.
Dankeschön für`s Teilen. :)
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Benutzeravatar
universum123
Mitglied
Beiträge: 409
Registriert: Fr, 07. Nov 2008 18:54
Wohnort: var/bin/zu Hause

Re: Toggle-Button für Javascript

#3

Beitrag von universum123 » Fr, 12. Jan 2018 11:30

:klasse:

das ist keine Belehrung oder deren gleichen :!:

dient nur zu Info

aber wer kein Script oder dergleichen will

es gibt es auch als WebExtension

178 Erweiterungen für „JavaScript“

gruß uni

EffPeh
Senior-Mitglied
Beiträge: 1570
Registriert: Mi, 04. Okt 2017 10:22

Re: Toggle-Button für Javascript

#4

Beitrag von EffPeh » Fr, 12. Jan 2018 11:41

@uni
Eine WebExtension ist auch nichts weiter als ein Script. :)
Aber davon abgesehen zeigt dieses Script hier wunderbar, wie man bequem eine about:config-Einstellung an- bzw. ausschalten kann. Und ich persönlich habe da noch mindestens zwei Kandidaten im Auge, die ich bedarfsweise togglen möchte. :wink:
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Tanni
Mitglied
Beiträge: 80
Registriert: Do, 19. Aug 2004 10:34

Re: Toggle-Button für Javascript

#5

Beitrag von Tanni Themen-Starter » Fr, 12. Jan 2018 11:50

@EffPeh
Aber gerne doch, wir profitieren doch hier alle voneinander. :D

@universum123
Das ist mir natürlich bekannt. Und ich habe bisher auch immer genügend Addons genutzt. Seit FF75 und eurer tollen Arbeit zur userChromeJS hier im Forum bin ich aber froh über jedes Script, welches eine Extension ersetzt. Da weiss ich erstens was drin ist und kann mich auf die von mir benötigten Features beschränken. Manche Extensions sind wie die sprichwörtliche "eierlegende Wollmichsau" und haben soviele Funktionen, die die meisten nicht brauchen.

Noch dazu lerne ich was und kann mir dadurch vielleicht was bauen, was bisher gar keiner anbietet. 8)

Benutzeravatar
Zitronella
Senior-Mitglied
Beiträge: 9800
Registriert: Di, 07. Feb 2012 18:06

Re: Toggle-Button für Javascript

#6

Beitrag von Zitronella » Fr, 12. Jan 2018 12:18

ja, klasse Ding, auch wenn ich es wahrscheinlich nicht brauchen werde. Nur eine Kleinigkeit die mich massiv stört
statt
Javascript ist eingeschalten und Javascript ist ausgeschalten
bitte abändern in
Javascript ist eingeschaltet und Javascript ist ausgeschaltet
Hilfe auch im deutschsprachigen Firefox-Chat möglich.
Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

Benutzeravatar
loshombre
Senior-Mitglied
Beiträge: 10395
Registriert: So, 24. Apr 2005 23:30
Wohnort: Todesstern

Re: Toggle-Button für Javascript

#7

Beitrag von loshombre » Fr, 12. Jan 2018 12:23

Noch dazu lerne ich was und kann mir dadurch vielleicht was bauen, was bisher gar keiner anbietet.
https://github.com/ardiman/userChrome.j ... ster/jsoff

Gebaut hab ich es bereits vor 6 Jahren!
Höchst wahrscheinlich wird es so nicht mehr funktionieren, aber angeboten haben wir das damals auch schon :wink:
Userscripte für die userChrome.js (Fuchs 57+, Installation, Zusammenfassung) im Forum und zum Download auf Github.com

Wetterfuchsbutton Script der dunklen Seite für die userChrome.js

Gruß loshombre

Benutzeravatar
universum123
Mitglied
Beiträge: 409
Registriert: Fr, 07. Nov 2008 18:54
Wohnort: var/bin/zu Hause

Re: Toggle-Button für Javascript

#8

Beitrag von universum123 » Fr, 12. Jan 2018 12:24

:!: Achtung :!:

es ging mir darum

nich jeder ist so af­fin in den Anpassungen unterwegs

da hat mir der Beitrag von Sören Hentzschel gut gefallen

Scripts oder Add-ons

gruß uni

Tanni
Mitglied
Beiträge: 80
Registriert: Do, 19. Aug 2004 10:34

Re: Toggle-Button für Javascript

#9

Beitrag von Tanni Themen-Starter » Fr, 12. Jan 2018 12:56

@Zitronella
Deinem berechtigten Wunsch habe ich gerne entsprochen. :D

@loshombre
Ich habe vor FF57 nur Stylish und Greasemonkey genutzt. Die userChromeJS Extension ist dazumal voll an mir vorbeigegangen. Rückblickend eigentlich schade....
Aber durch die grundlegenden Änderungen beim Fuchs bin ich ja jetzt auch endlich draufgekommen. ;-)

Wir bauen ja hier jetzt alle auf eurer Arbeit auf.

"Meister: Um zu bauen eigenes, was noch bietet keiner an, muß noch viel mehr lernen...." :lol:

@universum123
Ich bin da voll bei Dir. Habe mich ja zu dem Thema auch schonmal geäußert gehabt.

Benutzeravatar
loshombre
Senior-Mitglied
Beiträge: 10395
Registriert: So, 24. Apr 2005 23:30
Wohnort: Todesstern

Re: Toggle-Button für Javascript

#10

Beitrag von loshombre » Fr, 12. Jan 2018 13:55

"Meister: Um zu bauen eigenes, was noch bietet keiner an, muß noch viel mehr lernen...."
Dann möge die Macht der dunklen Seite mit dir sein :wink:

Im Prinzip war es damals in den Anfängen so: Ein Schrauber hat, durch einen Javascript Bug im Fuchs, eine Möglichkeit gefunden, kleine Javascript Codes über ein kleines Addon in den Fuchs einzubinden, um seine Funktionalität zu verändern/verbessern. Brauchte eigentlich kein Mensch, weil es eh schon quasi so gut wie alles eben in Form von Addons gab.
Trotzdem fand ich persönlich diese Möglichkeit spannend und so fingen wir hier an erst mal im Netz zu sammeln, langsam dran etwas zu verändern/verbessern und später die ersten wackligen Versuche selbst Scripte zu schrauben, um neue, bzw. zusätzliche Funktionen dem Fuchs zu verpassen und/oder dadurch einfach auch Erweiterungen einzusparen. Damals war die "Performance" und ne gewisse "Schwerlastigkeit" des Fuchses, vor allem auch in Verbindung mit vielen dicken großen Addons ein großes Thema.

Heute ist es im Prinzip so: Der Fuchs ist viel schneller, hat mehr Power, usw... Allerdings gibt es aktuell eben nicht mehr so gut wie alles in Form von Addons, weil Mozilla das nicht mehr will. Und wie wir bereits wissen, wird es höchst wahrscheinlich auch in Zukunft nicht mehr alles geben. Deshalb und nur deshalb sind Modifikationen am Fuchs seitens Javascript (aber auch CSS) jetzt aktuell, sagen wir mal etwas "populärer" und für den einen, oder anderen vielleicht auch notwendiger geworden.
Allerdings wird wie halt alles, auch das wieder nachlassen und wie lange sich Mozilla solche Hacks überhaupt noch mit angucken will, bevor sie auch diese Schnittstellen komplett dicht machen, das wissen halt nur sie und uns bleibt sowieso nichts anderes übrig, als abzuwarten, zuzuschauen und ne dumme Pfanne ziehen.

Aber zumindest bis heute konnten wir (die dunkle Seite) mehr, oder minder gemeinsam die immer wieder kehrenden Angriffe der hellen Seite (Mozilla) so halbwegs erfolgreich abwehren :) Wie lange das noch gut geht, weist noch nicht mal der Imperator persönlich :wink:
Userscripte für die userChrome.js (Fuchs 57+, Installation, Zusammenfassung) im Forum und zum Download auf Github.com

Wetterfuchsbutton Script der dunklen Seite für die userChrome.js

Gruß loshombre

Tanni
Mitglied
Beiträge: 80
Registriert: Do, 19. Aug 2004 10:34

Re: Toggle-Button für Javascript

#11

Beitrag von Tanni Themen-Starter » Fr, 12. Jan 2018 14:52

loshombre hat geschrieben:
Fr, 12. Jan 2018 13:55
Aber zumindest bis heute konnten wir (die dunkle Seite) mehr, oder minder gemeinsam die immer wieder kehrenden Angriffe der hellen Seite (Mozilla) so halbwegs erfolgreich abwehren :) Wie lange das noch gut geht, weist noch nicht mal der Imperator persönlich :wink:
Ich liebe es wenn ich beim lesen schmunzeln muß. :lol:

Ja schön beschrieben. Alles was irgendwie Sachen "verändert/verbessert" und dabei nicht immer ganz der Norm entspricht, zieht halt manche mehr an als Andere. Und diese finden sich dann halt - vorallem im Internet mit seinen Möglichkeiten - schnell zusammen. In solch einer Gemeinschaft führt jede kleine Idee eines Einzelnen dann in der Gesamtheit zu einem schnellen vorankommen bei einzelnen Themen.

Aber klar auch da ist es wie immer heutzutage: Ein wenig ist mal der eine und mal der andere Hase oder Igel.

Schauen wir mal wohin uns das zukünftig im Mozilla-Imperium führt. :P

Benutzeravatar
Sören Hentzschel
Administrator
Beiträge: 19896
Registriert: Mi, 23. Nov 2011 0:39
Wohnort: Salzburg
Kontaktdaten:

Re: Toggle-Button für Javascript

#12

Beitrag von Sören Hentzschel » Fr, 12. Jan 2018 16:53

loshombre hat geschrieben:
Fr, 12. Jan 2018 13:55
Allerdings wird wie halt alles, auch das wieder nachlassen und wie lange sich Mozilla solche Hacks überhaupt noch mit angucken will, bevor sie auch diese Schnittstellen komplett dicht machen, das wissen halt nur sie und uns bleibt sowieso nichts anderes übrig, als abzuwarten, zuzuschauen und ne dumme Pfanne ziehen.
Schätzungsweise spätestens wenn dieser Counter auf 0 ist, wird das nicht mehr möglich sein (derzeit 242):
https://arewexblstill.com/

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

Re: Toggle-Button für Javascript

#13

Beitrag von 2002Andreas » Fr, 12. Jan 2018 17:03

Sören Hentzschel hat geschrieben:
Fr, 12. Jan 2018 16:53
wird das nicht mehr möglich sein
Sollte ich das jetzt falsch verstanden haben dann sorry, aber soll das heißen Scripte etc. funktionieren dann nicht mehr?
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Benutzeravatar
loshombre
Senior-Mitglied
Beiträge: 10395
Registriert: So, 24. Apr 2005 23:30
Wohnort: Todesstern

Re: Toggle-Button für Javascript

#14

Beitrag von loshombre » Fr, 12. Jan 2018 17:04

Ja guck, da ham wa es ja schon schwarz auf weiß.
Danke für den Link!
Also wenn sie die Schlagzahl weiterhin so hoch halten (läuft ja erst seit Oktober), dann gute Nacht Marie und zwar sehr bald!
Userscripte für die userChrome.js (Fuchs 57+, Installation, Zusammenfassung) im Forum und zum Download auf Github.com

Wetterfuchsbutton Script der dunklen Seite für die userChrome.js

Gruß loshombre

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

Re: Toggle-Button für Javascript

#15

Beitrag von Endor » Fr, 12. Jan 2018 17:20

Hallo Meister.
Ja dann wird es langsam Zeit, dass de Dunkle Seite einen eignen Browser anbietet.
Todesstern Browser oder so ähnlich. :wink:
Mal abwarten was wird. So schnell schießen die ........ auch wieder nicht. :wink:

Mfg.
Endor
Zuletzt geändert von Endor am Fr, 12. Jan 2018 19:07, insgesamt 1-mal geändert.
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0.3
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67. 0) Gecko/Firefox/67.0b12
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/Firefox/68.0a1

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

Antworten

Wer ist online?

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