Irgendein Problem mit dem Icon aus Zeile 8
Wenn du die Adresse mal in die Adressleiste eingibst, wirst du sehen, dass es die Seite nicht mehr gibt.
Irgendein Problem mit dem Icon aus Zeile 8
Wenn du die Adresse mal in die Adressleiste eingibst, wirst du sehen, dass es die Seite nicht mehr gibt.
Ich hatte es ja schon mal gesagt, bleib bei den Skripten.
Ich versuche es. Mir geht es hier aber wie dem Eichhörnchen, das sich mühsam ernährt. Und Mira_Belle wird es sicherlich ähnlich ergehen.
Was bei mir nicht funktionieren mag, ist das Scrollen. Ist das bei euch auch so?
Genau weiß ich das nicht, ich verwende nämlich das Skript custom_scrollbars.uc.js und damit habe ich kein Problem mehr. Vorher hatte ich das Problem aber schon, auch mit diesem Skript.
nachdem aborix im Forum eine große Lücke hinterlassen hat
Der kleine Maulwurf würde sagen: „Ach jaaa“. ![]()
InFormEnter+ habe ich auf AMO gefunden. Da hat sich wohl einer mal erbarmt … Die letzte Version ist aber auch schon von 2022.
Ich weiß nicht genau, woran es lag. Aber ich hatte einen gravierenden Schnitzer in Zeile 167. Da habe ich nämlich if (event == 1) geschrieben statt if (event.button == 1). Das konnte nicht funktionieren. *Asche aufs Haupt*
Zeilen 98-101 habe ich auch nochmal umgebaut.
Vielen Dank
Gern geschehen. Hand auf eigene Schulter klopf ![]()
Hier noch einmal die geänderten Zeilen, damit ihr eure eigenen Versionen ändern könnt:
62-76, 98-101, 161-170
Die alten Zeilen stehen noch als Kommentar im Skript.
Da ist aber noch etwas, was vielleicht das Wässerchen doch noch trübt: Die Zeilen 58-61. Die hängen irgendwie mit dem Kontextmenü zusammen, ich weiß nur nicht wie. Könnt ihr das noch testen?
Hast du denn die Erweiterungen mal neu installiert? Die Symbole kommen bestimmt alle von den Erweiterungen. Was InformEnter angeht, funktioniert diese Erweiterung wirklich noch? Die wird doch schon seit Jahren nicht mehr weiterentwickelt.
Probiert mal diese Version:
// ==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®io=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®io=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
Die Ursache könnte eventuell in den Zeilen liegen, wo ich mir von Anfang an nicht sicher war. Die ursprüngliche Zeile ist:
Bei mir Zeile 98. Daraus habe ich gemacht:
Das ist wohl doch falsch.
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.
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.
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.
Hier die neuen Zeilen für den Linksklick. Die Zeilen 69-72:
toolbaritem.addEventListener('click', event => {
if (event.button === 0) {
wetterfuchs.openPanel('MO_Linksklick',event, 'b');
}
Und hier die Zeile 13 für den Linksklick:
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.
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?
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.
Welche Zeilen hattest du geändert?
Siehe Beitrag #4291. ![]()
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.
Doppelklick:
Das musst du nur bestätigen. Dann siehst du auch das Panel.
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.
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.
![]()
// ==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®io=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®io=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.
Habe jetzt den EventListener rausgeschmissen, der (angeblich) feuert, wenn der Objektbaum(DOM) geladen wurde und init() direkt aufgerufen.
Das war eine gute Idee.
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. ![]()
![]()
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.
Wenns auch ohne echte Uhr geht...
Dass kennen wir. Es geht eben aber jetzt um das andere Skript.