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?
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.
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. ![]()
Zu früh gefreut, Nightly gerade mit dem Restart-Skript neu gestartet und schon ist das Symbol wieder weg.
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 … ![]()
policy.json im Distributions Ordner gefunden
Die Datei sollte aber policies.json heißen, nicht policy.json.
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? ![]()
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.
2002Andreas Ist das Skript Thunderbird.uc.js nicht an ExternalApplications.uc.js angelehnt? Thunderbird.uc.js funktioniert.
Wäre hilfreich, wenn du mir sagst, ob da das XUlElement steht oder null.
Vor deiner Version stand ja da document.getElemenById("mainPopupset").appendChild(panel), ohne die Deklaration let element. Da stand dort in der Browserkonsole null.
Aber es hat doch schon funktioniert, oder? Ich habe am Skript nichts mehr geändert, ein FF-Update hat es in der Zwischenzeit auch nicht gegeben, also müsste der Fehler dann wohl eher wegen einer Änderung an deiner Umgebung auftreten.
Ja, natürlich hat es erst funktioniert und bej Endor ja auch. Auch ich hatte nichts geändert, bis das Problem auftauchte. Dann habe ich herumexperimentiert, was nichts genutzt hat.
Eine Idee: Du hattest ja den Vorschlag mit dem setTimeout-Wert gemacht. Wenn ich so in die Vergangenheit zurückdenke, ist mir, als hätte der setTimeout-Block immer am Ende eines Skripts gestanden. Bei dir steht er am Anfang des Skriptes. Könnte das die Ursache sein?
Du könntest in Zeile 18 den Wert von setTimeout erhöhen, z.B. zum Test von 0 auf 3000.
Das hatte ich schon mal mit 2000 versucht, jetzt mit den 3000. Bringt nichts. Ich habe sogar den Computer neu gestartet, man weiß ja nie. Hilft nichts.
Ich habe jetzt mehrmals die Konsole durchsucht, um nichts zu übersehen, habe aber keinen Eintrag für das Skript in der Konsole gefunden. ![]()