Hallo zusammen.
Habe hier ein Script von
nach geändert:
JavaScript
for (var a in attributes)
toolbaritem.setAttribute(p, props[p]);
toolbaritem.addEventListener('click', event => {
if (event.button == 0) {
uhr.openPanel('MO_Linksklick',event,'b');
}
});
funktioniert so mal wieder nicht.
Das ganze Script:
CSS
// ==UserScript==
// @name uhr-panelbutton.uc.js
// @compatibility Firefox 134
// @include main
// @version 1.0.1
// ==/UserScript==
var uhr = {
urlobj: {
MO_Linksklick: {url:"https://uhr.ptb.de/",width:500,height:500},
},
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: 'uhr-toolbarbutton',
type: 'custom',
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'uhr-toolbarbutton',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
type: 'button',
removable: 'true',
label: 'Uhr Panel',
tooltiptext: 'Aktuelle Uhrzeit',
style: 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2T3UuTURzHn3+j/6ILrwq88cLoJgpiEYQUwcKErKAXWi+E1dIZrTRQWQQzYZqilWvGpPmyC3OMtnQ02gvao/Lsxbk9e9phY+fTxRNLM/rCFw6ccz7n+4XfUZS/tLL6HdvjN7Ra3TRbPTRbPbS09dM3MIymafx9viEhBLbHbzhxaxanb5OJcJGJcJG30RIjSzq2MZVWq5vXI6P7IUII2i45uTys4lrIM/dth4RWYTltkM4IYhsVxkN5XixUaLkZotc5tBdyu6ufs4NbjCzpLKcNvqxXWCtKUgXTyZIkGC/R517BMVukqSOA1ztDo/Ohdi/dvhz+uEEsK4llJdG8ZLVgruM7kicDIUanE3yIGXSMFDhs6cEwDBqvT0dLBFMV4r8vJpcjJJcjpISkz72CyxMjWZL44wbdvhwHTn0yU7S09XNnKrc3tpDkwmHks+uMTid45oqQLEmiGcmSWmcqatBkW+N2Vz/KwdOveOjViKzpaLpE3akR+pZn2p+i/doEJ6/Os5apouoSVZckcjX8X7c59jzH+U67Cej25cjrVURNEk8VcDjmeOla4t5gjPfjQapSUq6a1kWdhFbBMlgwAZb2R1weVsnuCKSU1OsSKXc5PIvM/GjsiZpkdV3niEPlvv0pSt/AMMd7V5kJbTUge1zImJDfgI1sGddCnqaOAIFAAEXTNFo7BrGNqWxky/sBu1KImiSSLnNhtMKxc/cQQpiz4BmbwNITxOnbJLX1E13U96XIffpAJF3GPi9ptnpYXFzcO429ziEsPUEeejX8X7dJbf1kZb1COiP4rlWZnEtjn5ccvT7+7/+gKIoyOfWOM1eecHEohNO3iftzFffnKo7ZIheHQljaH5m9/yfDMJicesfdrl46bzyg88YD7tufMjPz8U/nXfoFmxjSB7qU4KIAAAAASUVORK5CYII=)'
};
for (var a in attributes)
toolbaritem.setAttribute(p, props[p]);
toolbaritem.addEventListener('click', event => {
if (event.button == 0) {
uhr.openPanel('MO_Linksklick',event,'b');
}
});
return toolbaritem;
}
});
} catch(e) { };
var css = '\
#uhr-toolbarbutton .toolbarbutton-icon {max-width: none !important;}\
';
var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
document.insertBefore(stylesheet, document.documentElement);
},
init: function() {
this.createBtn();
let panel = document.createXULElement('panel');
panel.id = "uhr-panel";
panel.setAttribute('noautohide', "false");
panel.setAttribute('type', "arrow");
panel.setAttribute('onpopuphiding', "uhr.clearPanel()");
panel.setAttribute('onmousedown', "if (event.button == 1) uhr.openUrlFromPanel()");
document.getElementById('mainPopupSet').appendChild(panel);
let vbox = document.createXULElement('vbox');
panel.appendChild(vbox);
let browser = document.createXULElement('browser');
browser.id = "uhr-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() {
myiframe = document.getElementById("uhr-iframe");
myiframe.parentNode.width = 146;
myiframe.parentNode.height = 146;
myiframe.setAttribute("src",this.wfthrobber);
},
openUrlFromPanel: function() {
openWebLinkIn(document.getElementById("uhr-iframe").getAttribute("src"),"tab");
document.getElementById("uhr-panel").hidePopup();
},
openPanel: function(bezeichner,e,toDo) {
this.myEventhandler(e,toDo);
var myiframe = document.getElementById("uhr-iframe");
myiframe.parentNode.width = this.urlobj[bezeichner]["width"];
myiframe.parentNode.height = this.urlobj[bezeichner]["height"];
myiframe.setAttribute("src",this.urlobj[bezeichner]["url"]);
var mypanel = document.getElementById("uhr-panel");
mypanel.openPopup(document.getElementById("uhr-toolbarbutton"));
},
};
uhr.init();
Alles anzeigen
Was habe ich vergessen oder falsch gemacht?
Mfg.
Endor