1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Endor

Beiträge von Endor

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

    • Endor
    • 8. Februar 2025 um 19:29

    Habe festgestellt, dass ein paar Adressen aus dem Kontextmenü der Schaltfläche nicht mehr gehen.

    Eu Wetter - Regenradarprognose
    Welt Wetter - Aktuell und Vorhersage
    Regionales Wetter - Regenradar aktuell

    Mfg.
    Endor

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

    • Endor
    • 8. Februar 2025 um 18:37

    Interessant.
    Im 136 Beta auch kein Problem mit scrollen.
    Im aktuellen Firefox 135 habe ich es noch nicht testet.

    BrokenHeart
    Frage verwendest Du auch die dazu gehörende Css Datei?
    Laut Deinem Bild fehlt die. Ist mir eben erst aufgefallen.

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

    • Endor
    • 8. Februar 2025 um 17:55

    BrokenHeart

    Hast Du diesen Absatz beachtet im Wetterfuchsscript?
    Bei mir ab Zeile 135

    CSS
    	  var css =
           '#wetterfuchs-panel vbox {\
           width: 640px !important;\
           height: 800px !important;\
            }';

    Dieser Code gibt eine Mindest- Breite und Höhe an.

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

    • Endor
    • 8. Februar 2025 um 17:12

    custom_scrollbars.uc.js

    CSS
    "use strict";
    
    /* Firefox userChrome.js tweaks - 'Custom Scrollbars' for Firefox
       https://github.com/Aris-t2/CustomJSforFx/blob/master/scripts/custom_scrollbars.uc.js
    
       Version: 2.0.5 for Firefox 115+
       
       NOTE: 'non-compatible options' from earlier versions were removed
    
       README
      
       about:config >
           widget.windows.overlay-scrollbars.enabled > false (Windows)
           widget.gtk.overlay-scrollbars.enabled > false (Linux)
       [!] The above preferences have to be set to 'false' for this code to work
     
       [!] STARTUP CACHE HAS TO BE DELETED AFTER EVERY CHANGE!
       -> finding 'startupCache' folder: address bar > about:profiles > Local Directory > Open Folder > startupCache
       -> close Firefox
       -> delete 'startupCache' folders content
     
       Modifying appearance > change values
       - enable/disable options: true <-> false
       - color
         - name: red, blue, transparent 
         - hex code: #33CCFF, #FFF
         - rgb(a): rgba(0,0,255,0.8)
         - hsl(a): hsla(240,100%,50%,0.8)
       - numbers: 1, 2, 3 ... 10, 11, 12 ...
       - opacity: 0.0 to 1.0 e.g. 1.4, 1,75
       - gradients: linear-gradient(direction, color, color, color)
       - gradients example: linear-gradient(to right, blue, #33CCFF, rgba(0,0,255,0.8))
       - predefined gradients: transparent,rgba(255,255,255,0.5),transparent -> transparent,rgba(255,255,255,0.0),transparent
       - no color or no color value -> use "unset"
       - arrow icons
    	  - files have to be downloaded from https://github.com/Aris-t2/CustomJSforFx/tree/master/icons
    	  - files have to be placed inside 'icons' (sub)folder --> 'chrome\icons'
    	  - own svg files can also be used, if they are named up.svg, down.svg, left.svg, right.svg
     
    */
    
    (function() {
    
    
      /* General scrollbar settings *******************************************************/
    
      // default: hide_scrollbars = false
      const hide_scrollbars = false;
    
      // default: hide_scrollbar_buttons = false
      const hide_scrollbar_buttons = false;
    
      // default: thin_scrollbars = false / browsers own way to show thin scrollbars
      const thin_scrollbars = false;
    
      // default: custom_scrollbar_opacity = false
      const custom_scrollbar_opacity = false;
    
      // default: custom_opacity_value = "1.0"
      const custom_opacity_value = "1.0";
    
    
      /* Custom scrollbar settings ("custom_scrollbar_" --> "cs_") ************************/
      
      // default: custom_scrollbars = true
      const custom_scrollbars = true;
      
      // default: custom_scrollbar_arrows = true
      const custom_scrollbar_arrows = true;
      
      // default: custom_scrollbar_arrows_version = 1
      //  1 ==> SVG arrows as code: might not work on some pages
      //  2 ==> SVG arrows as files: files have to be downloaded from
      //        https://github.com/Aris-t2/CustomJSforFx/tree/master/icons
      //        and placed inside 'chrome\icons' folder
      const custom_scrollbar_arrows_version = 2;
      
      // default: custom_scrollbar_arrows_color = "grey"; / # ==> %23 e.g. #33CCFF ==> %2333CCFF
      // only for 'custom_scrollbar_arrows_version = 1'
      const custom_scrollbar_arrows_color = "dodgerblue";
      
      //definiert die Hoverfarbe für die Scrollbuttons
      const custom_scrollbar_arrows_hover_color = "grey";
      
      // default: cs_thumb_border = 0 / in px
      const cs_thumb_border = 1;
      
      // default: cs_thumb_roundness = 0 / in px
      const cs_thumb_roundness = 26;
      
      // default: cs_background_roundness = 0 / in px
      const cs_background_roundness = 26;
     
      // default: cs_buttons_border = 0 / in px
      const cs_buttons_border = 0;
    
      // default: cs_buttons_roundness = 0 / in px
      const cs_buttons_roundness = 0;
    
      // default: cs_ignore_color_gradients = false / 'flat' scrollbars
      const cs_ignore_color_gradients = false; 
      
    
      /* Custom scrollbar colors and gradients ********************************************/
      
      // default: cs_background_color = "#DDDDDD"
      const cs_background_color = "#AEC5FA";
    
      // default: cs_background_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_background_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_background_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_background_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_corner_background_color = "#DDDDDD" / - corner
      const cs_corner_background_color = "#CCCCCC";
      
      // default: cs_corner_background_image = "linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%)"
      let cs_corner_background_image = "linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%)";
    
      // default: cs_thumb_color = "#33CCFF" / thumb/slider
      const cs_thumb_color = "#33CCFF";
      
      // default: cs_thumb_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_thumb_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"; 
      
      // default: cs_thumb_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_thumb_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"; 
      
      // default: cs_thumb_hover_color = "#66FFFF"
      const cs_thumb_hover_color = "#66FFFF";
      
      // default: cs_thumb_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_thumb_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_thumb_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_thumb_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_thumb_border_color = "#33CCFF"
      const cs_thumb_border_color = "#33CCFF";
      
      // default: cs_buttons_color = "#66FFFF" / buttons
      const cs_buttons_color = "Bahama Blue";
      
      // default: cs_buttons_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_buttons_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)";
    
      // default: cs_buttons_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_buttons_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_buttons_hover_color = "#33CCFF"
      const cs_buttons_hover_color = "#bfffff";
      
      // default: cs_buttons_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_buttons_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_buttons_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
      let cs_buttons_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)";
      
      // default: cs_buttons_border_color = "#33CCFF"
      const cs_buttons_border_color = "#33CCFF";
    
    
    /* ******************************************************************************************** */
    /* ******************************************************************************************** */
    
      let ProfilePathChrome = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome'));
    
    
      // unset background image color gradients -> flat scrollbars
      if(cs_ignore_color_gradients === true)
    	cs_background_image_vertical
    	= cs_background_image_horizontal
    	= cs_corner_background_image
    	= cs_thumb_image_vertical
    	= cs_thumb_image_horizontal
    	= cs_thumb_hover_image_vertical
    	= cs_thumb_hover_image_horizontal
    	= cs_buttons_image_vertical
    	= cs_buttons_image_horizontal
    	= cs_buttons_hover_image_vertical
    	= cs_buttons_hover_image_horizontal
    	= "unset";
    
    
      let custom_scrollbars_code='';
      let custom_scrollbar_arrows_code='';
      let hide_scrollbar_buttons_code='';
      let custom_scrollbar_opacity_code='';
      let hide_scrollbars_code='';
      let thin_scrollbars_code='';
      
      if(custom_scrollbars === true)
    	custom_scrollbars_code=`
    		slider, scrollcorner, scrollbar thumb, scrollbar scrollbarbutton {
    		  appearance: auto;
    		  -moz-default-appearance: none !important;
    		}
    		slider {
    		  background-color: ${cs_background_color} !important;
    		}
    		scrollbar[orient="vertical"] slider {
    		  background-image: ${cs_background_image_vertical} !important;
    		  border-radius: ${cs_background_roundness}px !important;
    		}
    		scrollbar[orient="horizontal"] slider {
    		  background-image: ${cs_background_image_horizontal} !important;
    		  border-radius: ${cs_background_roundness}px !important;
    		}
    		scrollcorner {
    		  background-color: ${cs_corner_background_color} !important;
    		  background-image: ${cs_corner_background_image} !important;
    		}
    		scrollbar thumb {
    		  background-color: ${cs_thumb_color} !important;
    		  border-radius: ${cs_thumb_roundness}px !important;
    		  box-shadow: inset 0 0 0 ${cs_thumb_border}px ${cs_thumb_border_color} !important;
    		}
    		scrollbar thumb[orient="vertical"] {
    		  background-image: ${cs_thumb_image_vertical} !important;
    		  min-height: 17px !important;
    		}
    		scrollbar thumb[orient="horizontal"] {
    		  background-image: ${cs_thumb_image_horizontal} !important;
    		  min-width: 17px !important;
    		}
    		scrollbar thumb:hover, scrollbar thumb:active {
    		  background-color: ${cs_thumb_hover_color} !important;
    		}
    		scrollbar thumb[orient="vertical"]:hover, scrollbar thumb[orient="vertical"]:active {
    		  background-image: ${cs_thumb_hover_image_vertical} !important;
    		}
    		scrollbar thumb[orient="horizontal"]:hover, scrollbar thumb[orient="horizontal"]:active {
    		  background-image: ${cs_thumb_hover_image_horizontal} !important;
    		}
    		scrollbar scrollbarbutton {
    		  background-color: ${cs_buttons_color} !important;
    		  border-radius: ${cs_buttons_roundness}px !important;
    		  box-shadow: inset 0 0 0 ${cs_buttons_border}px ${cs_buttons_border_color} !important;
    		  height: 17px !important;
    		  width: 17px !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton {
    		  background-image: ${cs_buttons_image_vertical} !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton {
    		  background-image: ${cs_buttons_image_horizontal} !important;
    		}
    		scrollbar scrollbarbutton:hover {
    		  background-color: ${cs_buttons_hover_color} !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton:hover {
    		  background-image: ${cs_buttons_hover_image_vertical} !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton:hover {
    		  background-image: ${cs_buttons_hover_image_horizontal} !important;
    		}
    	`;
    	
      if(custom_scrollbar_arrows === true && custom_scrollbar_arrows_version === 1)
    	custom_scrollbar_arrows_code=`
    		scrollbar scrollbarbutton {
    		  background-repeat: no-repeat !important;
    		  background-position: center center !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton[type="decrement"] {
    		  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='${custom_scrollbar_arrows_color}' %3E%3Cpath d='m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z'/%3E%3C/svg%3E ") !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton[type="increment"] {
    		  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='${custom_scrollbar_arrows_color}' %3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E ") !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton[type="decrement"] {
    		  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='${custom_scrollbar_arrows_color}' %3E%3Cpath d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'/%3E%3C/svg%3E ") !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton[type="increment"] {
    		  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='${custom_scrollbar_arrows_color}' %3E%3Cpath d='m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z'/%3E%3C/svg%3E ") !important;
    		}
    		
            scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"]:hover {
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='`+custom_scrollbar_arrows_hover_color+`' %3E%3Cpath d='m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z'/%3E%3C/svg%3E ") !important;
              background-repeat: no-repeat !important;
              background-position: top !important;
            }
    
            scrollbar[orient="vertical"] > scrollbarbutton[type="increment"]:hover {
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='`+custom_scrollbar_arrows_hover_color+`' %3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E ") !important;
              background-repeat: no-repeat !important;
              background-position: bottom !important;
            }
    
            scrollbar[orient="horizontal"] > scrollbarbutton[type="decrement"]:hover {
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='`+custom_scrollbar_arrows_hover_color+`' %3E%3Cpath d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'/%3E%3C/svg%3E ") !important;
              background-repeat: no-repeat !important;
              background-position: left !important;
            }
    
            scrollbar[orient="horizontal"] > scrollbarbutton[type="increment"]:hover {
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='`+custom_scrollbar_arrows_hover_color+`' %3E%3Cpath d='m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z'/%3E%3C/svg%3E ") !important;
              background-repeat: no-repeat !important;
              background-position: right !important;
            }
    
    	`;
      else if(custom_scrollbar_arrows === true && custom_scrollbar_arrows_version === 2)
    	custom_scrollbar_arrows_code=`
    		scrollbar scrollbarbutton {
    		  background-repeat: no-repeat !important;
    		  background-position: center center !important;
    		}
    		scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
    		  background-image: url("${ProfilePathChrome}/icons/up.svg") !important;
    		}
    		scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
    		  background-image: url("${ProfilePathChrome}/icons/down.svg") !important;
    		}
    		scrollbar[orient="horizontal"] > scrollbarbutton[type="decrement"] {
    		  background-image: url("${ProfilePathChrome}/icons/left.svg") !important;
    		}
    		scrollbar[orient="horizontal"] > scrollbarbutton[type="increment"] {
    		  background-image: url("${ProfilePathChrome}/icons/right.svg") !important;
    		}
    	`;
    
      if(hide_scrollbar_buttons === true)
    	hide_scrollbar_buttons_code=`
    		scrollbar scrollbarbutton {
    		  opacity: 0 !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton {
    		  min-height: 1px !important;
    		  height: 1px !important;
    		  max-height: 1px !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton {
    		  min-width: 1px !important;
    		  width: 1px !important;
    		  max-width: 1px !important;
    		}
    	`;
    	
      if(custom_scrollbar_opacity === true)
    	custom_scrollbar_opacity_code=`
    		scrollbar {
    		  opacity: ${custom_opacity_value} !important;
    		}
    	`;
      
      if(hide_scrollbars === true)
    	hide_scrollbars_code=`
    		scrollbar, scrollcorner {
    		  display: none !important;
    		  visibility: collapse !important;
    		}
    	`;
      
      if(thin_scrollbars === true)
    	thin_scrollbars_code=`
    		:root{
    		  scrollbar-width: thin !important;
    		}
    		scrollbar[orient="vertical"] scrollbarbutton {
    		  height: 14px !important;
    		  width: 7px !important;
    		}
    		scrollbar[orient="horizontal"] scrollbarbutton {
    		  height: 7px !important;
    		  width: 14px !important;
    		}
    	`;
    
      Components.classes["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService)
    	  .loadAndRegisterSheet(Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
    		${custom_scrollbars_code}
    		${custom_scrollbar_arrows_code}
    		${hide_scrollbar_buttons_code}
    		${custom_scrollbar_opacity_code}
    		${hide_scrollbars_code}
    		${thin_scrollbars_code}
      `), null, null),
      Components.classes["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET);
    
    
    })();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 8. Februar 2025 um 17:07

    Also hier funktioniert scrollen.
    Früher musste man eine Erweiterung zur Beeinflussung des Scrollverhaltens installieren
    ob das heute auch noch so ist weiß ich jetzt nicht. Habe hier aber schon ewig
    Yet another smooth scrolling WE Erweiterung installiert.

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

    • Endor
    • 8. Februar 2025 um 16:09

    Ja. ja!!!!
    Jetzt funktioniert es wie es soll.
    Vielen Dank milupo.

    Mfg.
    Endor

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

    • Endor
    • 8. Februar 2025 um 15:05

    Bei Mittelklick auf Eintrag aus Menü öffnet sich aber immer die in Zeile 13 definierte Seite.
    Nicht die eigentlich für den Menüeintrag definierte.

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

    • Endor
    • 8. Februar 2025 um 14:51

    Richtig bei Linksklick auf Menüeinträge tut sich nichts.
    Irgendwas fehlt da noch im Script.:/

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

    • Endor
    • 8. Februar 2025 um 14:32

    Ja habe ich und bring nix.
    Nochmals zur Erklärung die Schaltfläche hat 4 Funktionen.
    Linksklick wie üblich Menü mit Einträgen zum anklicken öffnen,
    Rechtsklick, Mittelklick und Doppelklick öffnen im Script definierte Seiten im Panel
    Zeile 13 definiert Adresse der Seite für Mittelklick.
    Das in Linksklick zu ändern bringt dann logisch nix.
    Mfg.
    Endor

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

    • Endor
    • 8. Februar 2025 um 14:14

    Also habe alles in meine deutsche Version übertragen.
    Es funktioniert nur, Mittel , Doppel und Rechtsklick.
    Linksklick öffnet wie es soll das Menü aber da tut sich bei klick nichts.


    Boersenfeger

    Warte bitte noch bis das Problem behoben ist.
    Danke.
    Mfg.
    Endor

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

    • Endor
    • 8. Februar 2025 um 13:43

    2002Andreas.
    Nein denn das ist ja das Problem.
    Wie sieht es mit Mittel- Doppel und rechtsklick aus?
    Tut sich da bei Dir etwas?

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

    • Endor
    • 7. Februar 2025 um 19:38

    Möchte nur noch kurz etwas zum Ursprung dieses Scripts sagen.
    Ich hatte damals die Idee dazu, habe es dann mit meinen bescheidenen
    JavaScript Kenntnissen versucht zu erstellen. Bin erwartungsgemäß kolossal
    gescheitert. Habe dann aborix um Hilfe gebeten und er hat dann
    im Handumdrehen aus meinem Schrott dieses Script gemacht.
    Nochmals vielen Dank an alle die geholfen haben.
    Mfg.
    Endor


    Also hier kann ich drauf klicken wie oft ich will es öffnet sich jedes mal
    das Panel und die Uhr wird geladen usw.
    Funktioniert in allen drei Firefox Versionen.

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

    • Endor
    • 7. Februar 2025 um 19:32

    Hallo BrokenHeart

    In Beta und Nightly getestet, funktioniert einwandfrei.
    Auch nach Neustart ist es da usw.
    135 muss ich noch testen.
    Vielen Dank für Deine Mühe.
    Mfg.
    Endor

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

    • Endor
    • 7. Februar 2025 um 13:33
    Zitat von 2002Andreas

    In der Beta Version, auch nach mehrmaligem Neustart:

    Hier leider nicht. Nichts zu finden.:/

  • externalApplications.uc.js Script funktioniert nicht ab Firefox 136 Beta

    • Endor
    • 7. Februar 2025 um 11:56

    Ja mit deinem Script habe ich wenigstens die Buttons wieder.
    Verschiebbar hatte ja aborix dann eingebaut.
    Mal sehen.
    Mfg.
    Endor

  • externalApplications.uc.js Script funktioniert nicht ab Firefox 136 Beta

    • Endor
    • 7. Februar 2025 um 11:21

    Leider funktioniert dieses für mich sehr wichtige Script ab Firefox 136 Beta nicht mehr.

    JavaScript
    // ==UserScript==
    // @name           externalApplications.uc.js
    // @namespace      ithinc#mozine.cn
    // @description    External Applications
    // @include        main
    // @compatibility  Firefox 3.5.x 3.6.x 17.01
    // @author         ithinc
    // @Version        Fix by aborix
    // @Version        20190108.2.0.0 Frei verschiebbare Schaltflächen von aborix
    // @version        20091216.1.0.0 Final release
    // @version        20091215.0.0.2 Handle toolbar apps and menu apps separately
    // @version        20091212.0.0.1 Initial release
    // ==/UserScript==
    
    /* :::: External Applications :::: */
    
    var gExternalApplications = {
      toolbar: {
        apps: [
    	  {name: 'Wetter', path: 'C:\\Users\\xxxx\\Wetter'},
          {name: 'Notepad++', path: 'C:\\Program Files\\Notepad++\\notepad++.exe'},
    	  {name: 'Microsoft Outlook', path: 'C:\\Program Files (x86)\\Microsoft Office\\OFFICE14\\Outlook.exe'},
    	  {name: 'Videolan Player', path: 'C:\\Program Files\\VideoLAN\\VLC\\vlc.exe'},
    	  {name: 'Windows Explorer', path: 'C:\\Windows\\explorer.exe'},
    	  {name: 'WinMergeU', path: 'F:\\Adaten\\Downloads\\Freecomander\\WinMerge-2.14.0\\WinMerge-2.16.12-x64-exe\\WinMerge\\WinMergeU.exe'},
    	  {name: 'Filezilla', path: 'F:\\Adaten\\Downloads\\Filezilla\\FileZilla_3.10.3_win64\\FileZilla-3.56.2\\filezilla.exe'},
    	  {name: 'CarotDAV', path: 'F:\\Adaten\\Downloads\\Dropbox\\CarotDAV1.9.9.portable\\CarotDAV\\CarotDAV.exe'},	  
    	  {name: 'Pickpick', path: 'F:\\Adaten\\Downloads\\picpick\\picpick.exe'},
    	  {name: 'Profilmanager', path: 'F:\\Adaten\\Downloads\\Firefox\\Profile-Manager\\profilemanager.exe'},
    	  {name: 'Profile', path: 'C:\\Users\\xxxx\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles'},
    	  {name: 'FreeCommander', path: 'F:\\Adaten\\Downloads\\FreeComander\\FreeCommanderPortable\\FreeCommanderPortable.exe'},
    	  {name: 'TV Browser', path: 'F:\\Adaten\\Downloads\\TVBrowser\\tvbrowser_3.2.1_bin_transportable\\tvbrowser-transportable\\tvbrowser-transportable.exe'},
    	  {name: 'Radio Sure', path: 'F:\\Adaten\\Downloads\\Radio\\RadioSure.exe'},
       ]
      },
    // Menü für Firefox Extras - Externe Anwendungen
      menu: {
        apps: [
          {name: 'Notepad', path: 'C:\\WINDOWS\\system32\\notepad.exe'},
          {name: 'Rechner', path: 'C:\\WINDOWS\\system32\\calc.exe'},
          {name: 'DOS', path: 'C:\\WINDOWS\\system32\\cmd.exe'},
          {name: 'separator'},
          {name: 'UltraSearch', path: 'F:\\Adaten\\Downloads\\FreeComander\\UltraSearch\\UltraSearch.exe'},
          {name: 'CarotDAV', path: 'F:\\Adaten\\Downloads\\Dropbox\\CarotDAV1.9.9.portable\\CarotDAV\\CarotDAV.exe'},
          {name: 'Windows Explorer', path: 'c:\\windows\\explorer.exe'},/*x?????*/
          {name: 'Internet Explorer', path: 'C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE', args: ['%u']},
          {name: 'Firefox', path: 'F:\\Adaten\\Downloads\\Firefox'},
    	  {name: 'Videos', path: 'F:\\Video'},
    	  {name: 'Videos2', path: 'F:\\Adaten\\Müll'},
        ],
      id: 'ExternalApplicationsMenu',
        insertafter: 'menu_openAddons', // 'helpMenu', 'tools-menu' oder 'browserToolsSeparator'
        label: 'Externe Anwendungen',
        accesskey: 'A'
      },
    
      init: function() {
        this.handleRelativePath(this.toolbar.apps);
        this.handleRelativePath(this.menu.apps);
    
        this.createToolbarbuttons(this.toolbar.apps);
    
        if (this.menu.apps.length > 0) {
          var refNode = document.getElementById(this.menu.insertafter);
          if (refNode) {
            var menu = refNode.parentNode.insertBefore(document.createXULElement('menu'), refNode.nextSibling);
            menu.setAttribute('id', this.menu.id);
            menu.setAttribute('label', this.menu.label);
            menu.setAttribute('accesskey', this.menu.accesskey);
            menu.appendChild(this.createMenupopup(this.menu.apps));
          }
        }
      },
    
      handleRelativePath: function(apps) {
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.path) {
            app.path = app.path.replace(/\//g, '\\');
    
            var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
            if (/^(\.)/.test(app.path)) {
              app.path = ffdir + '\\' + app.path;
            }
            else if (/^(\\)/.test(app.path)) {
              app.path = ffdir.substr(0,2) + app.path;
            }
          }
        }
      },
    
      exec: function(path, args) {
        args = args || [];
        for (var i=0; i<args.length; i++) {
          args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
        }
    
        var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        file.initWithPath(path);
        if (!file.exists()) {
          Cu.reportError('File Not Found: ' + path);
          return;
        }
    
        if (!file.isExecutable()) {
          file.launch();
        }
        else {
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          process.init(file);
          process.run(false, args, args.length);
        }
      },
    
      createToolbarbuttons: function(apps) {
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.name != 'separator') {
            createButton(app);
          }
        };
        function createButton(app) {
          var buttonId = app.name.replace(/ /g, '_').replace(/\+/g, 'Plus') + '-ExtApp-button';
          try {
            CustomizableUI.createWidget({
              id: buttonId,
              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 attributes = {
                  id: buttonId,
                  class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                  label: app.name,
                  tooltiptext: app.name,
                  image: 'moz-icon:file:///' + app.path + '?size=16',
                  oncommand: 'gExternalApplications.exec(this.path, this.args);',
                  //style: 'margin: 0px 0px; background: none; box-shadow: none; border-color: transparent;' // dawlen add
                };
                for (var a in attributes) {
                  toolbaritem.setAttribute(a, attributes[a]);
                };
                toolbaritem.path = app.path;
                toolbaritem.args = app.args;
                return toolbaritem;
              }
            });
    		CustomizableUI.registerToolbarNode(tb);
          } catch(e) {};
        }
      },
    
      createMenupopup: function(apps) {
        var menupopup = document.createXULElement('menupopup');
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.name == 'separator') {
            menupopup.appendChild(document.createXULElement('menuseparator'));
          }
          else {
            var item = menupopup.appendChild(document.createXULElement('menuitem'));
            item.setAttribute('class', 'menuitem-iconic');
            item.setAttribute('label', app.name);
            item.setAttribute('image', 'moz-icon:file://' + app.path + '?size=16');
            item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
            item.path = app.path;
            item.args = app.args;
          }
        }
        return menupopup;
      }
    };
    gExternalApplications.init();
    Alles anzeigen

    Habe es so zu ändern versucht aber das funktioniert nicht.

    JavaScript
    // ==UserScript==
    // @name           externalApplications.uc.js
    // @namespace      ithinc#mozine.cn
    // @description    External Applications
    // @include        main
    // @compatibility  Firefox 3.5.x 3.6.x 17.01
    // @author         ithinc
    // @Version        Fix by aborix
    // @Version        20190108.2.0.0 Frei verschiebbare Schaltflächen von aborix
    // @version        20091216.1.0.0 Final release
    // @version        20091215.0.0.2 Handle toolbar apps and menu apps separately
    // @version        20091212.0.0.1 Initial release
    // ==/UserScript==
    
    /* :::: External Applications :::: */
    
    var gExternalApplications = {
      toolbar: {
        apps: [
    	  {name: 'Wetter', path: 'C:\\Users\\xxxx\\Wetter'},
          {name: 'Notepad++', path: 'C:\\Program Files\\Notepad++\\notepad++.exe'},
    	  {name: 'Microsoft Outlook', path: 'C:\\Program Files (x86)\\Microsoft Office\\OFFICE14\\Outlook.exe'},
    	  {name: 'Videolan Player', path: 'C:\\Program Files\\VideoLAN\\VLC\\vlc.exe'},
    	  {name: 'Windows Explorer', path: 'C:\\Windows\\explorer.exe'},
    	  {name: 'WinMergeU', path: 'F:\\Adaten\\Downloads\\Freecomander\\WinMerge-2.14.0\\WinMerge-2.16.12-x64-exe\\WinMerge\\WinMergeU.exe'},
    	  {name: 'Filezilla', path: 'F:\\Adaten\\Downloads\\Filezilla\\FileZilla_3.10.3_win64\\FileZilla-3.56.2\\filezilla.exe'},
    	  {name: 'CarotDAV', path: 'F:\\Adaten\\Downloads\\Dropbox\\CarotDAV.portable\\CarotDAV\\CarotDAV.exe'},	  
    	  {name: 'Pickpick', path: 'F:\\Adaten\\Downloads\\picpick\\picpick.exe'},
    	  {name: 'Profilmanager', path: 'F:\\Adaten\\Downloads\\Firefox\\Profile-Manager\\profilemanager.exe'},
    	  {name: 'Profile', path: 'C:\\Users\\xxxx\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles'},
    	  {name: 'FreeCommander', path: 'F:\\Adaten\\Downloads\\FreeComander\\FreeCommanderPortable\\FreeCommanderPortable.exe'},
    	  {name: 'TV Browser', path: 'F:\\Adaten\\Downloads\\TVBrowser\\tvbrowser_3.2.1_bin_transportable\\tvbrowser-transportable\\tvbrowser-transportable.exe'},
    	  {name: 'Radio Sure', path: 'F:\\Adaten\\Downloads\\Radio\\RadioSure.exe'},
       ]
      },
    // Menü für Firefox Extras - Externe Anwendungen
      menu: {
        apps: [
          {name: 'Notepad', path: 'C:\\WINDOWS\\system32\\notepad.exe'},
          {name: 'Rechner', path: 'C:\\WINDOWS\\system32\\calc.exe'},
          {name: 'DOS', path: 'C:\\WINDOWS\\system32\\cmd.exe'},
          {name: 'separator'},
          {name: 'UltraSearch', path: 'F:\\Adaten\\Downloads\\FreeComander\\UltraSearch\\UltraSearch.exe'},
          {name: 'CarotDAV', path: 'F:\\Adaten\\Downloads\\Dropbox\\CarotDAV.portable\\CarotDAV\\CarotDAV.exe'},
          {name: 'Windows Explorer', path: 'c:\\windows\\explorer.exe'},/*x?????*/
          {name: 'Internet Explorer', path: 'C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE', args: ['%u']},
          {name: 'Firefox', path: 'F:\\Adaten\\Downloads\\Firefox'},
    	  {name: 'Videos', path: 'F:\\Video'},
    	  {name: 'Videos2', path: 'F:\\Adaten\\Müll'},
        ],
      id: 'ExternalApplicationsMenu',
        insertafter: 'menu_openAddons', // 'helpMenu', 'tools-menu' oder 'browserToolsSeparator'
        label: 'Externe Anwendungen',
        accesskey: 'A'
      },
    
      init: function() {
        this.handleRelativePath(this.toolbar.apps);
        this.handleRelativePath(this.menu.apps);
    
        this.createToolbarbuttons(this.toolbar.apps);
    
        if (this.menu.apps.length > 0) {
          var refNode = document.getElementById(this.menu.insertafter);
          if (refNode) {
            var menu = refNode.parentNode.insertBefore(document.createXULElement('menu'), refNode.nextSibling);
            menu.setAttribute('id', this.menu.id);
            menu.setAttribute('label', this.menu.label);
            menu.setAttribute('accesskey', this.menu.accesskey);
            menu.appendChild(this.createMenupopup(this.menu.apps));
          }
        }
      },
    
      handleRelativePath: function(apps) {
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.path) {
            app.path = app.path.replace(/\//g, '\\');
    
            var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
            if (/^(\.)/.test(app.path)) {
              app.path = ffdir + '\\' + app.path;
            }
            else if (/^(\\)/.test(app.path)) {
              app.path = ffdir.substr(0,2) + app.path;
            }
          }
        }
      },
    
      exec: function(path, args) {
        args = args || [];
        for (var i=0; i<args.length; i++) {
          args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
        }
    
        var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        file.initWithPath(path);
        if (!file.exists()) {
          Cu.reportError('File Not Found: ' + path);
          return;
        }
    
        if (!file.isExecutable()) {
          file.launch();
        }
        else {
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          process.init(file);
          process.run(false, args, args.length);
        }
      },
    
      createToolbarbuttons: function(apps) {
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.name != 'separator') {
            createButton(app);
          }
        };
        function createButton(app) {
          var buttonId = app.name.replace(/ /g, '_').replace(/\+/g, 'Plus') + '-ExtApp-button';
          try {
            CustomizableUI.createWidget({
              id: buttonId,
              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 attributes = {
                  id: buttonId,
                  class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                  label: app.name,
                  tooltiptext: app.name,
                  image: 'moz-icon:file:///' + app.path + '?size=16',
                  //oncommand: 'gExternalApplications.exec(this.path, this.args);',
    
                };
                for (var a in attributes) {
                  toolbaritem.setAttribute(a, attributes[a]);
    			  toolbaritem.addEventListener('command', event => {
    					if (event.button == 0) { 
                                gExternalApplications.exec(this.path, this.args);	  
                }
    		    });	
                toolbaritem.path = app.path;
                toolbaritem.args = app.args;
                return toolbaritem;
    			}
    		  }
            });
          } catch(e) {};
        }
      },
      createMenupopup: function(apps) {
        var menupopup = document.createXULElement('menupopup');
        for (var i=0; i<apps.length; i++) {
          var app = apps[i];
          if (app.name == 'separator') {
            menupopup.appendChild(document.createXULElement('menuseparator'));
          }
          else {
            var item = menupopup.appendChild(document.createXULElement('menuitem'));
            item.setAttribute('class', 'menuitem-iconic');
            item.setAttribute('label', app.name);
            item.setAttribute('image', 'moz-icon:file://' + app.path + '?size=16');
            item.addEventListener ('command', function (event) {
    	    if (event.button == 0) {
    		   gExternalApplications.exec(this.path, this.args);
    	    }
    		});
            item.path = app.path;
            item.args = app.args;
    		return menupopup;
    		}
    	}
      },
    };
    gExternalApplications.init();
    Alles anzeigen

    Hat jemand von euch eine Idee?
    Mfg.
    Endor

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

    • Endor
    • 7. Februar 2025 um 10:14

    Leider kann und muss ich das von milupo geschilderte Verhalten bestätigen.
    Schaltfläche war mal kurz da und seit dem nicht mehr aufgetaucht. Keinerlei Meldung in Konsole.
    Mfg.
    Endor

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

    • Endor
    • 6. Februar 2025 um 19:09
    Zitat von BrokenHeart

    Hat es dann wenigstens funktioniert?

    Jein. Im 135er Fuchs geht es noch aber im Panel kann man nicht mehr Scrollen.
    Wie milupo schon weiter oben angemerkt hat. Wäre der Wahnsinn wenn Du das auch noch hin kriegen würdest.
    Viele vielen Dank im Voraus von mir!
    Mfg.
    Endor

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

    • Endor
    • 6. Februar 2025 um 18:13

    Hier das Script:

    Code
    // ==UserScript==
    // @name           wetterfuchsbutton.uc.js
    // @compatibility  Firefox 33. - 69+
    // @include        main
    // @version        1.0.20190625
    // ==/UserScript==
    
    var wetterfuchs = {
    
      urlobj: {
        MO_Doppelklick: {url:"https://www.msn.com/de-de/wetter/heute/de/Berlin,BE,Deutschland/we-city-52.520,13.380",width:700,height:640},
        MO_Rechtsklick: {url:"http://www.wetter.net/47/Berlin",width:850,height:630},
        MO_Mittelklick: {url:"https://www.daswetter.com/wetter_Berlin-Europa-Deutschland-Berlin--1-26301.html",width:800,height:638},
        DED_WetterAktuell: {url:"https://www.wetterkontor.de/de/deutschland_aktuell.asp?id=0&page=0&sort=0",width:625,height:865},
        DED_Vorhersage: {url:"https://www.wetterkontor.de/de/wetter/deutschland.asp",width:670,height:780},
        DED_Pollenbelastung: {url:"https://www.wetterkontor.de/de/bio/pollenflug-erle.asp",width:478,height:590},
        DED_UVIndexVorhersage: {url:"https://www.wetterkontor.de/de/bio/uv-index.asp",width:478,height:590},
        DE_WetterAktuell: {url:"https://www.dwd.de/DWD/wetter/aktuell/deutschland/bilder/wx_deutschland.jpg",width:780,height:520},
        DE_Vorhersage: {url:"https://www.dwd.de/DWD/wetter/wv_allg/deutschland/film/vhs_deutschland.jpg",width:780,height:485},
        DE_Unwetterwarnung: {url:"http://www.unwetterzentrale.de/images/map/deutschland_index.png",width:572,height:572},
        DE_RegenradarAktuell: {url:"https://www.niederschlagsradar.de/image.ashx",width:568,height:530},
        DE_RegenradarPrognose: {url:"https://www.niederschlagsradar.de/images.aspx?srt=loopvorhersage&jaar=-3&regio=homepage&tijdid=&m=&d=&uhr=&mi=",width:568,height:530},
        EU_AktuellVorhersage: {url:"https://www.wetterkontor.de/de/wetter/europa/",width:680,height:690},
        EU_Unwetterwarnung: {url:"http://www.unwetterzentrale.de/images/map/europe_index.png",width:572,height:572},
        EU_RegenradarAktuell: {url:"http://www.meteox.de/images.aspx?jaar=-3&voor=&soort=loop-bliksem&c=&n=&tijdid=20128241541",width:570,height:570},
        EU_RegenradarPrognose: {url:"http://db.eurad.uni-koeln.de/prognose/data/aktuell/trh_eur_1h_movd1.gif",width:518,height:518},
        WE_WetterAktuell: {url:"http://www.meteocentrale.ch/de/wetter/weltwetter.html#sytl",width:575,height:360},
        RE_AktuellVorhersage: {url:"https://www.wetterkontor.de/de/wetter/deutschland/brandenburg-berlin.asp",width:675,height:640},
        RE_Unwetterwarnung: {url:"https://www.wetterkontor.de/warnungen/wetterwarnungen-brandenburg-berlin.asp",width:850,height:480},
        RE_RegenradarAktuell: {url:"https://www.niederschlagsradar.de/image.ashx?type=regioloop&regio=bln&j=&m=&d=&mi=&uhr=&bliksem=0&voor=&srt=loop1stunde&tijdid=201194154",width:568,height:530},
        RE_RegenradarPrognose: {url:"https://www.wetteronline.de/regenradar/berlin-bundesland?mode=interactive&wrx=52.51,13.41&wrm=8",width:850,height:850},
      },
    
      wfthrobber: "https://raw.github.com/ardiman/userChrome.js/master/wetterfuchsbutton/loading51.gif",
      // alternativ z.B. wfthrobber: "chrome://global/skin/media/throbber.png"
    
      createBtn: function() {
        try {
          CustomizableUI.createWidget({
             id: 'wetterfuchs-toolbarbutton',
             type: 'custom',
             onBuild: function(aDocument) {
                var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                var attributes = {
                   id: 'wetterfuchs-toolbarbutton',
                   class: 'chromeclass-toolbar-additional',
                   type: 'menu',
                   removable: 'true',
                   label: 'Wetterfuchs',
                   tooltiptext: 'Lokale und globale Wetter Infos',
                   oncontextmenu: "return false",
                   ondblclick: "if (event.button === 0) { wetterfuchs.openPanel(\'MO_Doppelklick\',event,\'b\')}",
                   onclick: "if (event.button === 1) {wetterfuchs.openPanel(\'MO_Mittelklick\',event,\'b\')};if (event.button === 2) {wetterfuchs.openPanel(\'MO_Rechtsklick\',event,\'b\')}",
                   style: 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAD+0lEQVQ4jb3Tf0zUZRwH8LdgEngngitiMVBXcxH4h+lmETndkqVIOYemrewH4ipJmCjmmDLJRmrKBkPgMNYSMYNN3cQ1YoG4ovjpwQEnX+644ziP7/fbHd9z4SnH8+4PxXIWtLX13j7bsz17Xtvz+TwP8H9lfXx02NT62HJd3JHlurgHe9GhYX9/appkx+k31m0JKtEBzzdlLLz08+6FlxcAz9VtCi7JjtNv/NfQ60sXJQJA/VocutVx6I77+9fGbl/fNeG7nu53X355zNu89W5DSkA+AGyIj1o1I1i1KtQglyzn2MUk/+TNYgq1nEIuohg9TuHK56Qtg2PfxftdJ2L4zStzK6azHgOwoDNRf9Q/kEPeqiJ/MwiqZaRSQsqFpOswhSNL0PEeJ9pXsDVBd1IH3ZMA5jyiFSwOWt//2eIfTF+lyt3XjrCvrZjjN0vJsQpSOUbezCQdH5D2N0nrBk6aYun5+nHF+KmusXDJ/JRHwI7UrS9WH05TW1quUZLMorOjlacNp9j/ay7p2kmquyhGd5HOHeTwNgrLq0J0hfPGhyE9BUA0gICHwIq8vNy2tva7DoeDZrOZNTU1rK6uZl1dPc+fr+HF2uOUBw9SKPtJ18fk8FZOGqPYsy34l1Ig9iEwBogs+uLzVpPJRIvFIoxGIxsaGihJEm02G212O43dfaysrKC9L4/05JDOHRTmeKHVzOaVJH1tInRPTHmBGe9v3/NTc/P40NAQrVYrJUni4ODgPcxm4/DwMB0OBzs6Onm2qpAj/bmcdKZTmBbRtD2o80pw4MZ9gB4AkJaWFnHhwoU7qqrS6XSKkZGRB5DL5aIsy1QUhaqq0uVycWBggF1d7aLlx+OcuB4hpMwQaz6w5P4rAVJSUhJ6e3vpdrupKAplWaYkSTSZTJRlmZqm0ev10uv1UtM0jo+P0+fzcXBIFj1nEiekzBDnt0vnffKgfytXrlxWX1/v93g8dLvdtFqt7O7uFhaLhXa7nYqiUNM0appGVVXp8/mE3+/nrdvjrMrY214FJJUBkX8dSkRycvKpsrIy58VLl+5cbW6m0WgUHo+HsizT1NtLVVWpaRodIyNUVDdv+3x0jI6y8I017SeAp7OBuQBmTYEBAGL1ev27EWFhB/ZnZTkbm5rYb77BltZWGsrLRWPTVfaZB1h7tpKGL/ewsqTo992bNnXs0wfvBRD0T19vdjgQFQmkLwkPN2x+aVnbO3ExA6uB2p0vPGX7KOEZxzrgXE402rbMw7nVwOZS4NnpwKkEA4hZByRnAm/lA2tP6HHgaAgOngTW1ABJZ4AV9282awbrz2QBwQVAaCowpxiIMQCLUoE5ecD8t+/17D8l8H7NmD8Aw0h46qvM+RMAAAAASUVORK5CYII=)'
                };
                for (var a in attributes)
                   toolbaritem.setAttribute(a, attributes[a]);
                appendMenupopup(toolbaritem);
                return toolbaritem;
             }
          });
          addCss();
        } catch(e) { };
    
        function appendMenupopup(toolbaritem) {
          let mymenu = document.createXULElement('menupopup');
          mymenu.id = 'wetterfuchsmenu';
          toolbaritem.appendChild(mymenu);
          function appendMenu(label, id, Items) {
            let menu = document.createXULElement('menu');
            menu.setAttribute('label', label);
            mymenu.appendChild(menu);
            let menupopup = document.createXULElement('menupopup');
            menupopup.id = id;
            menu.appendChild(menupopup);
            for (let item of Items) {
              let menuitem = document.createXULElement('menuitem');
              menuitem.setAttribute('label', item[0]);
              menuitem.setAttribute('oncommand', item[1]);
              menupopup.appendChild(menuitem);
            };
          };
          appendMenu("DE Wetterdaten", "wetterfuchsdatamenu", [
            ["Wetter aktuell", "wetterfuchs.openPanel(\'DED_WetterAktuell\',event,\'p\')"],
            ["Vorhersage", "wetterfuchs.openPanel(\'DED_Vorhersage\',event,\'p\')"],
            ["Pollenbelastung", "wetterfuchs.openPanel(\'DED_Pollenbelastung\',event,\'p\')"],
            ["UV-Index", "wetterfuchs.openPanel(\'DED_UVIndexVorhersage\',event,\'p\')"]
          ]);
          appendMenu("DE Wetterkarten", "wetterfuchsDEmapsmenu", [
            ["Wetter aktuell", "wetterfuchs.openPanel(\'DE_WetterAktuell\',event,\'p\')"],
            ["Vorhersage", "wetterfuchs.openPanel(\'DE_Vorhersage\',event,\'p\')"],
            ["Unwetterwarnung", "wetterfuchs.openPanel(\'DE_Unwetterwarnung\',event,\'p\')"],
            ["Regenradar aktuell", "wetterfuchs.openPanel(\'DE_RegenradarAktuell\',event,\'p\')"],
            ["Regenradarprognose", "wetterfuchs.openPanel(\'DE_RegenradarPrognose\',event,\'p\')"]
          ]);
          appendMenu("EU Wetter", "wetterfuchsEUmapsmenu", [
            ["Aktuell und Vorhersage", "wetterfuchs.openPanel(\'EU_AktuellVorhersage\',event,\'p\')"],
            ["Unwetterwarnung", "wetterfuchs.openPanel(\'EU_Unwetterwarnung\',event,\'p\')"],
            ["Regenradar aktuell", "wetterfuchs.openPanel(\'EU_RegenradarAktuell\',event,\'p\')"],
            ["Regenradarprognose", "wetterfuchs.openPanel(\'EU_RegenradarPrognose\',event,\'p\')"]
          ]);
          appendMenu("Welt Wetter", "wetterfuchsWEmapsmenu", [
            ["Aktuell und Vorhersage", "wetterfuchs.openPanel(\'WE_WetterAktuell\',event,\'p\')"]
          ]);
          appendMenu("Regionales Wetter", "wetterfuchsRegiomapsmenu", [
            ["Aktuell und Vorhersage", "wetterfuchs.openPanel(\'RE_AktuellVorhersage\',event,\'p\')"],
            ["Unwetterwarnung", "wetterfuchs.openPanel(\'RE_Unwetterwarnung\',event,\'p\')"],
            ["Regenradar aktuell", "wetterfuchs.openPanel(\'RE_RegenradarAktuell\',event,\'p\')"],
            ["Regenradarprognose", "wetterfuchs.openPanel(\'RE_RegenradarPrognose\',event,\'p\')"]
          ]);
        };
    
        function addCss() {
          var css =
            '@-moz-document domain(daswetter.com), \
                            domain(dwd.de), \
                            domain(meteocentrale.ch), \
                            domain(niederschlagsradar.de), \
                            domain(www.meteox.de), \
                            domain(msn.com), \
                            domain(wetter.faz.net), \
                            domain(wetter.de), \
                            domain(wetter.net), \
                            domain(wetterkontor.de), \
    						domain(wetteronline.de) { \
              scrollbar {display: none !important} \
            }';
          if (Services.appinfo.version.split('.')[0] <= 56) {
            css +=
              '@-moz-document url(chrome://browser/content/browser.xhtml) { \
                #wetterfuchs-toolbarbutton .toolbarbutton-icon {max-width: none !important} \
              }';
          };
          var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
          var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
          SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
        };
      },
    
      init: function() {
        this.createBtn();
        let panel = document.createXULElement('panel');
        panel.id = "wetterfuchs-panel";
        panel.setAttribute('noautohide', "false");
        panel.setAttribute('type', "arrow");
        panel.setAttribute('onpopuphiding', "wetterfuchs.clearPanel()");
        panel.setAttribute('onmousedown', "if (event.button == 1) wetterfuchs.openUrlFromPanel()");
        document.getElementById('mainPopupSet').appendChild(panel);
        let vbox = document.createXULElement('vbox');
        panel.appendChild(vbox);
        let browser = document.createXULElement('browser');
        browser.id = "wetterfuchs-iframe";
        browser.setAttribute('type', 'content');
        browser.setAttribute('flex', '1');
    	browser.setAttribute('remote', 'true');
        browser.setAttribute('src', this.wfthrobber);
        vbox.appendChild(browser);
      },
    
      myEventhandler: function (e,toDo) {
        switch (toDo) {
         case "p":
          e.preventDefault();
          break;
         case "s":
          e.stopPropagation();
          break;
         case "b":
          e.preventDefault();
          e.stopPropagation();
          break;
        }
      },
    
      clearPanel: function() {
        var myiframe = document.getElementById("wetterfuchs-iframe");
        myiframe.parentNode.width = 146;
        myiframe.parentNode.height = 146;
        myiframe.setAttribute("src",this.wfthrobber);
      },
    
      openUrlFromPanel: function() {
        openWebLinkIn(document.getElementById("wetterfuchs-iframe").getAttribute("src"),"tab");
        document.getElementById("wetterfuchs-panel").hidePopup();
      },
    
      openPanel: function(bezeichner,e,toDo) {
        this.myEventhandler(e,toDo);
        var mymenu = document.getElementById("wetterfuchsmenu");
        if (mymenu.state === "open" && e.button !== 0) return;
        mymenu.hidePopup();
        var myiframe = document.getElementById("wetterfuchs-iframe");
        myiframe.parentNode.style.width = this.urlobj[bezeichner]["width"]+'px';
        myiframe.parentNode.style.height = this.urlobj[bezeichner]["height"]+'px';
        myiframe.setAttribute("src",this.urlobj[bezeichner]["url"]);
        var mypanel = document.getElementById("wetterfuchs-panel");
        mypanel.openPopup(document.getElementById("wetterfuchs-toolbarbutton"));
      },
    
    };
    
    if (location == 'chrome://browser/content/browser.xhtml')
      wetterfuchs.init();
    Alles anzeigen

    Es funktioniert aber nur in Verbindung mit einem Css Code, der unerwünschte Teile auf den jeweiligen Seiten ausblendet.

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

    • Endor
    • 6. Februar 2025 um 18:10

    Meinst du den Wetterfuchs?

    Wenn ja, es fügt eine Schaltfläche ein, Rechtsklick, Mittelklick und doppelklick öffnen jeweils Wetterseiten im Panel Linksklick öffnet ein Menü mit weiteren Wetterseiten usw.

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon