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. milupo

Beiträge von milupo

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

    • milupo
    • 8. Februar 2025 um 16:00

    Probiert mal diese Version:

    JavaScript
    // ==UserScript==
    // @name           wetterfuchsbutton.uc.js
    // @compatibility  Firefox 33. - 59
    // @include        main
    // @version        1.0.20180325
    // ==/UserScript==
    
    var wetterfuchs = {
    
        urlobj: {
            MO_Doppelklick: { url: "https://www.msn.com/de-de/wetter/heute/Neustadt-i-Sa,SN,Deutschland/we-city?iso=DE&el=z3shAPk5UPgSVQf07w2ggQ%3D%3D", width: 800, height: 800 },
            MO_Rechtsklick: { url: "http://www.wetter.net/47/Berlin", width: 850, height: 630 },
            MO_Linksklick: { url: "https://www.daswetter.com/wetter_Neustadt+in+Sachsen-Europa-Deutschland-Sachsen--1-27120.html", width: 800, height: 638 },
            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/wetter-vorhersage/deutschland/neustadt-in-sachsen", 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: "https://www.niederschlagsradar.de/niederschlagsprognose.aspx?type=1&continent=europa", width: 553, height: 645 },
            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/sachsen.asp", width: 675, height: 640 },
            RE_Unwetterwarnung: { url: "https://www.wetterkontor.de/warnungen/warnung.asp?id=PIO", 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: 'Wjedrowa liška',
                            tooltiptext: 'Lokalne a globalne wjedrowe informacije',
                             
                            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);
    					//oncontextmenu: "return false",
    						toolbaritem.addEventListener('contextmenu', () => {
    							return false;
    						});
                         //   ondblclick: "if (event.button === 0) { wetterfuchs.openPanel(\'MO_Doppelklick\',event,\'b\')}",
    					       toolbaritem.addEventListener('dblclick', event => {
    							   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\')}",
    					      toolbaritem.addEventListener('click', event => {
    							  if (event.button === 1) {
    								  wetterfuchs.openPanel('MO_Mittelklick',event, 'b');
    							  }
    							 if (event.button === 2) {
    								 wetterfuchs.openPanel('MO_Rechtsklick', event, 'b');
    								  }
    						  });
                        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]);
    					menuitem.addEventListener('click', function (event) {
    						Function (item[1]) ();						
    					});
                        menupopup.appendChild(menuitem);
                    };
                };
                appendMenu("Wjedrowe daty Němska", "wetterfuchsdatamenu", [
                    ["Aktualne wjedro", "wetterfuchs.openPanel(\'DED_WetterAktuell\',event,\'p\')"],
                    ["Předpowědź", "wetterfuchs.openPanel(\'DED_Vorhersage\',event,\'p\')"],
                    ["Próškowe poćeženje", "wetterfuchs.openPanel(\'DED_Pollenbelastung\',event,\'p\')"],
                    ["UV-indeks", "wetterfuchs.openPanel(\'DED_UVIndexVorhersage\',event,\'p\')"]
                ]);
                appendMenu("Wjedrowe karty Němska", "wetterfuchsDEmapsmenu", [
                    ["Aktualne wjedro", "wetterfuchs.openPanel(\'DE_WetterAktuell\',event,\'p\')"],
                    ["Předpowědź", "wetterfuchs.openPanel(\'DE_Vorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'DE_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'DE_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'DE_RegenradarPrognose\',event,\'p\')"]
                ]);
                appendMenu("Wjedro EU", "wetterfuchsEUmapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'EU_AktuellVorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'EU_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'EU_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'EU_RegenradarPrognose\',event,\'p\')"]
                ]);
                appendMenu("Wjedro swěta", "wetterfuchsWEmapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'WE_WetterAktuell\',event,\'p\')"]
                ]);
                appendMenu("Regionalne wjedro", "wetterfuchsRegiomapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'RE_AktuellVorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'RE_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'RE_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'RE_RegenradarPrognose\',event,\'p\')"]
                ]);
            };
    
            function addCss() {
            	
    		var css =
           '#wetterfuchs-panel vbox {\
           width: 640px !important;\
           height: 800px !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.addEventListener('popuphiding', () => {
    			wetterfuchs.clearPanel();
    	});
            //panel.setAttribute('onmousedown', "if (event.button == 1) wetterfuchs.openUrlFromPanel()");
    		panel.addEventListener('mousedown', event => {
    			if (event.button == 1) {
    				wetterfuchs.openUrlFromPanel();
    			}			
    	});
            let element = 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
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • milupo
    • 8. Februar 2025 um 15:28

    Die Ursache könnte eventuell in den Zeilen liegen, wo ich mir von Anfang an nicht sicher war. Die ursprüngliche Zeile ist:

    JavaScript
    menuitem.setAttribute('oncommand', item[1]);

    Bei mir Zeile 98. Daraus habe ich gemacht:

    JavaScript
    menuitem.addEventListener('command', () => {
    						item[1];
    					});

    Das ist wohl doch falsch.

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

    • milupo
    • 8. Februar 2025 um 15:00
    Zitat von Endor

    Irgendwas fehlt da noch im Script.

    Denke ich mittlerweile auch. Das Problem ist, dass sich ein Linksklick dann nicht mehr auf einen Untermenüeintrag auswirkt, sondern auf das Symbol und das Menü nur mal kurz aufblinkt. Möglicherweise kommen hier die event-Werte sonst in Konflikt. Auf jeden Fall funktioniert das Skript mit Mittelklick auf einen Untermenüeintrag.

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

    • milupo
    • 8. Februar 2025 um 14:41
    Zitat von 2002Andreas

    Trotzdem keine Funktion bei Linksklick auf einen Eintrag.

    Ja, bei Linksklick auf das Symbol öffnet sich das Panel und nicht das Menü. Mit 1 in Zeile 70 ist wieder alles OK.


    Zitat von Endor

    Das in Linksklick zu ändern bringt dann logisch nix.

    Doch, wenn du im Skript in Mitteklick in Linksklick änderst, hast du keinen Mittelklick. Wer dennoch Mittelklick zusätzlich haben will, der kann MO_Linksklick oben zusätzlich einfügen, wie ich oben schon geschrieben habe. Hauptsache, beide sind definiert, wenn man sie verwenden will.

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

    • milupo
    • 8. Februar 2025 um 14:27

    Hier die neuen Zeilen für den Linksklick. Die Zeilen 69-72:

    JavaScript
    toolbaritem.addEventListener('click', event => {
    							  if (event.button === 0) {
    								  wetterfuchs.openPanel('MO_Linksklick',event, 'b');
    							  }

    Und hier die Zeile 13 für den Linksklick:

    JavaScript
    MO_Linksklick: { url: "https://www.daswetter.com/wetter_Neustadt+in+Sachsen-Europa-Deutschland-Sachsen--1-27120.html", width: 800, height: 638 },

    Ich habe hier MO_Mittelklick in MO_Linksklick geändert. Man kann für MO_Linksklick eine zusätzliche Zeile einfügen, aber ich habe bei Verwendung eines Linksklicks keine Verwendung für MO_MIttelklick mehr.

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

    • milupo
    • 8. Februar 2025 um 14:17
    Zitat von 2002Andreas
    Zitat von Endor

    Linksklick öffnet wie es soll das Menü aber da tut sich bei klick nichts.

    Dann passiert per Linksklick auf einen Eintrag wieder nichts.

    Den zweiten Satz in Beitrag #4303 habt ihr gelesen?

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

    • milupo
    • 8. Februar 2025 um 14:08
    Zitat von 2002Andreas

    Das funktioniert hier dann nicht richtig

    Äh, habe ich vergessen, du musst dann noch MO_Mittelklick in MO_Linksklick ändern. Und zwar nicht nur hier, sondern auch in Zeile 13. MO_Linksklick ist bisher nicht definiert.

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

    • milupo
    • 8. Februar 2025 um 14:01
    Zitat von Boersenfeger

    Welche Zeilen hattest du geändert?

    Siehe Beitrag #4291. ;)

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

    • milupo
    • 8. Februar 2025 um 13:54
    Zitat von 2002Andreas

    Ok. Wie gesagt, der hat hier eine eigene andere Funktion durch die Software von Logitech..

    Wenn du willst, mache in Zeile 70 eine 0 aus der 1. Dann wird mit Linksklick geöffnet. Das kommt mit dem Doppelklick ja nicht in Konflikt.


    Vielleicht noch zur Erläuterung: 0 Linksklick, 1 Mittelklick und 2 Rechtsklick.

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

    • milupo
    • 8. Februar 2025 um 13:53
    Zitat von 2002Andreas

    Doppelklick:

    Das musst du nur bestätigen. Dann siehst du auch das Panel.

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

    • milupo
    • 8. Februar 2025 um 13:50
    Zitat von 2002Andreas

    egal auf welchen Eintrag ich hier klicke, es passiert nichts.

    Du musst einen Mittelklick darauf machen, so ist das zumindest bei mir im Skript eingestellt.

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

    • milupo
    • 8. Februar 2025 um 13:35

    Endor, BrokenHeart Ich habe das Wetterfuchs-Skript weitgehend zum Laufen gebracht. Sogar das Scrollen im Panel funktioniert wieder. Ihr müsst aber vorher noch ein Sorbisch-Wörterbuch zur Hand nehmen. ;) :D

    JavaScript
    // ==UserScript==
    // @name           wetterfuchsbutton.uc.js
    // @compatibility  Firefox 33. - 59
    // @include        main
    // @version        1.0.20180325
    // ==/UserScript==
    
    var wetterfuchs = {
    
        urlobj: {
            MO_Doppelklick: { url: "https://www.msn.com/de-de/wetter/heute/Neustadt-i-Sa,SN,Deutschland/we-city?iso=DE&el=z3shAPk5UPgSVQf07w2ggQ%3D%3D", width: 800, height: 800 },
            MO_Rechtsklick: { url: "http://www.wetter.net/47/Berlin", width: 850, height: 630 },
            MO_Mittelklick: { url: "https://www.daswetter.com/wetter_Neustadt+in+Sachsen-Europa-Deutschland-Sachsen--1-27120.html", width: 800, height: 638 },
         //   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/wetter-vorhersage/deutschland/neustadt-in-sachsen", 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: "https://www.niederschlagsradar.de/niederschlagsprognose.aspx?type=1&continent=europa", width: 553, height: 645 },
            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/sachsen.asp", width: 675, height: 640 },
            RE_Unwetterwarnung: { url: "https://www.wetterkontor.de/warnungen/warnung.asp?id=PIO", 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: 'Wjedrowa liška',
                            tooltiptext: 'Lokalne a globalne wjedrowe informacije',
                             
                            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);
    					//oncontextmenu: "return false",
    						toolbaritem.addEventListener('contextmenu', () => {
    							return false;
    						});
                         //   ondblclick: "if (event.button === 0) { wetterfuchs.openPanel(\'MO_Doppelklick\',event,\'b\')}",
    					       toolbaritem.addEventListener('dblclick', event => {
    							   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\')}",
    					      toolbaritem.addEventListener('click', event => {
    							  if (event.button === 1) {
    								  wetterfuchs.openPanel('MO_Mittelklick',event, 'b');
    							  }
    							 if (event.button === 2) {
    								 wetterfuchs.openPanel('MO_Rechtsklick', event, 'b');
    								  }
    						  });
                        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]);
    					menuitem.addEventListener('command', () => {
    						item[1];
    					});
                        menupopup.appendChild(menuitem);
                    };
                };
                appendMenu("Wjedrowe daty Němska", "wetterfuchsdatamenu", [
                    ["Aktualne wjedro", "wetterfuchs.openPanel(\'DED_WetterAktuell\',event,\'p\')"],
                    ["Předpowědź", "wetterfuchs.openPanel(\'DED_Vorhersage\',event,\'p\')"],
                    ["Próškowe poćeženje", "wetterfuchs.openPanel(\'DED_Pollenbelastung\',event,\'p\')"],
                    ["UV-indeks", "wetterfuchs.openPanel(\'DED_UVIndexVorhersage\',event,\'p\')"]
                ]);
                appendMenu("Wjedrowe karty Němska", "wetterfuchsDEmapsmenu", [
                    ["Aktualne wjedro", "wetterfuchs.openPanel(\'DE_WetterAktuell\',event,\'p\')"],
                    ["Předpowědź", "wetterfuchs.openPanel(\'DE_Vorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'DE_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'DE_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'DE_RegenradarPrognose\',event,\'p\')"]
                ]);
                appendMenu("Wjedro EU", "wetterfuchsEUmapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'EU_AktuellVorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'EU_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'EU_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'EU_RegenradarPrognose\',event,\'p\')"]
                ]);
                appendMenu("Wjedro swěta", "wetterfuchsWEmapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'WE_WetterAktuell\',event,\'p\')"]
                ]);
                appendMenu("Regionalne wjedro", "wetterfuchsRegiomapsmenu", [
                    ["Aktualne a předpowědź", "wetterfuchs.openPanel(\'RE_AktuellVorhersage\',event,\'p\')"],
                    ["Njewjedrowe warnowanje", "wetterfuchs.openPanel(\'RE_Unwetterwarnung\',event,\'p\')"],
                    ["Dešćowy radar aktualny", "wetterfuchs.openPanel(\'RE_RegenradarAktuell\',event,\'p\')"],
                    ["Prognoza dešćoweho radara", "wetterfuchs.openPanel(\'RE_RegenradarPrognose\',event,\'p\')"]
                ]);
            };
    
            function addCss() {
            	
    		var css =
           '#wetterfuchs-panel vbox {\
           width: 640px !important;\
           height: 800px !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.addEventListener('popuphiding', () => {
    			wetterfuchs.clearPanel();
    	});
            //panel.setAttribute('onmousedown', "if (event.button == 1) wetterfuchs.openUrlFromPanel()");
    		panel.addEventListener('mousedown', event => {
    			if (event === 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

    Schaut euch dabei die Zeilen 58-76, 98-101 (hier bin ich noch nicht sicher, ob das funktioniert) und 161-170 an.

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

    • milupo
    • 7. Februar 2025 um 19:38
    Zitat von BrokenHeart

    Habe jetzt den EventListener rausgeschmissen, der (angeblich) feuert, wenn der Objektbaum(DOM) geladen wurde und init() direkt aufgerufen.

    Das war eine gute Idee. :thumbup:Funktioniert bei mir auch, auch nach Neustart und ich kann auch das Symbol zwischen Anpassen-Fenster und Symbolleiste hin- und herschieben. Du hast es geschafft, dass das Skript funktioniert, wenn es auch zwischenzeitlich etwas holprig lief. :thumbup::thumbup:

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

    • milupo
    • 7. Februar 2025 um 19:21

    Mit dem Nightly funktioniert es nicht. Auch die Konsole ignoriert offenbar das Skript. Wenn es ordentlich funktionieren würde, steht da lediglich der gelbe Eintrag zum Skript, ohne Fehlermeldung. Aber es gibt bei mir überhaupt keinen Eintrag in der Konsole.


    Übrigens, ich habe hier das Wetterfuchs-Skript als auch das verwandte Datum-Skript deaktiviert, hilft nichts.

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

    • milupo
    • 7. Februar 2025 um 19:01
    Zitat von Boersenfeger

    Wenns auch ohne echte Uhr geht...

    Dass kennen wir. Es geht eben aber jetzt um das andere Skript.

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

    • milupo
    • 7. Februar 2025 um 18:30

    Das Symbol will mich wohl vergackeiern … Ich dachte, fährste mal den Computer wieder herunter und wieder hoch, da ich gestern nach einem Neustart keinen Erfolg hatte. Erst sah es so aus, als ob das Symbol nicht geladen wird, aber jetzt ist es wieder da. Hm. :/

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

    • milupo
    • 7. Februar 2025 um 18:12

    Zu früh gefreut, Nightly gerade mit dem Restart-Skript neu gestartet und schon ist das Symbol wieder weg.

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

    • milupo
    • 7. Februar 2025 um 17:51
    Zitat von BrokenHeart

    Für mich ist die Hauptmotivation ehrlich gesagt, meine Firefox/JavaScript-Kenntnisse zu vertiefen bzw. zu erweitern.

    Ja, das ist bei mir ähnlich. Ich könnte mir sagen, du hast keine Ahnung von JavaScript, also lass es. Aber irgendwie reizt mich da irgendetwas … Aber ich habe nur passive Kenntnisse, ich kann nur interpretieren/analysieren, nichts auf die Beine stellen.


    BrokenHeart Hast du gerade einen Funkstrahl gesendet oder so etwas? Dreimal darfst du raten, was ich gerade in meiner Symbolleiste sehe. Erst wundert man sich, dass das Symbol weg ist, jetzt dass es da ist. :) Wobei ich noch nicht weiß, ob es gut ist, wenn man weiß, dass seine Uhr tickt … :)

  • Updates von ihrem Systemadministrator deaktiviert

    • milupo
    • 7. Februar 2025 um 16:48
    Zitat von Ennio2

    policy.json im Distributions Ordner gefunden

    Die Datei sollte aber policies.json heißen, nicht policy.json.

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

    • milupo
    • 7. Februar 2025 um 16:39
    Zitat von 2002Andreas

    Wobei...als Rentner brauche ich eh kaum mal eine Uhr

    Als Rentner hat man sowieso niemals Zeit. Wozu also die Zeit messen, die man nicht hat? :)


    Zitat von BrokenHeart

    Falls noch Interesse an dem Skript besteht, würde ich vielleicht hier eine Version posten, die mit sehr vielen Log-Aufrufen den Ablauf sichtbar macht

    Also zumindest Endor hat das Skript ins Spiel gebraucht und wer weiß, wer es noch nutzt und nur noch nicht gemerkt hat, dass es nicht mehr funktioniert. Ich habe es bisher nicht genutzt und weiß noch nicht, ob ich es nutzen werde, aber nun ist es erst einmal auf dem Tisch und ich denke, wir sollten versuchen, dass es wieder funktioniert. Wobei natürlich leider die Hauptlast bei dir liegt.

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