Welche Zeilen hattest du geändert?
Siehe Beitrag #4291.
Welche Zeilen hattest du geändert?
Siehe Beitrag #4291.
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.
du musst dann noch MO_Mittelklick in MO_Linksklick ändern.
Dann passiert per Linksklick auf einen Eintrag wieder nichts.
Aber wie gesagt, ich nutze das Skript ansonsten nicht. Und wenn es bei euch funktioniert...perfekt..sehr schön dann..
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.
Warte bitte noch bis das Problem behoben ist.
Danke.
Mfg.
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?
Den zweiten Satz in Beitrag #4303 habt ihr gelesen?
Trotzdem keine Funktion bei Linksklick auf einen Eintrag.
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.
Hier die neuen Zeilen
Dann öffnet sich bei Linksklick:
Nur der Mittelklick hat es hier richtig gemacht, nachdem ich es in Logitech geändert hatte.
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
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.
wenn du im Skript in Mitteklick in Linksklick änderst,
Egal wie ich es mache, mit Linksklick öffnet sich keiner der Einträge.
Richtig bei Linksklick auf Menüeinträge tut sich nichts.
Irgendwas fehlt da noch im Script.
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.
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.
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.
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
Probiert mal diese Version:
Damit funktioniert es hier auch mit Linksklick auf die Einträge
Ja. ja!!!!
Jetzt funktioniert es wie es soll.
Vielen Dank milupo.
Mfg.
Endor
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?