Nur mal so als Hinweis.
Bitte für Fragen bei Problemen mit Skripten etc., einen eigenen neuen Thread erstellen, und nicht alles in diesem Sammelthread posten, danke.
Nur mal so als Hinweis.
Bitte für Fragen bei Problemen mit Skripten etc., einen eigenen neuen Thread erstellen, und nicht alles in diesem Sammelthread posten, danke.
Nur mal so als Hinweis.
Bitte für Fragen bei Problemen mit Skripten etc., einen eigenen neuen Thread erstellen, und nicht alles in diesem Sammelthread posten, danke.
Und in diesen Thread kommt jetzt was - Diskussionen die nichts mit allen beliebigen Scripts zu tun haben, was der einzige Zweck ist?
Im Übrigen habe ich eine Menge top Info in diesem Altmonster gefunden über die Jahre - weil ich persönlich ja recherchiere.
Da der Thread mit der ursprünglichen Diskussion zum Thema leider einer Art Putzwut zum Opfer gefallen und geschlossen ist, und das relativ lebhafte Userinteresse etwas abrupt unterbunden wurde, hier ein anderer Vorschlag:
Was evtl. Sinn machen könnte - eine (evtl. gepinnte Thread) für aktuelle Änderungen in Firefox, mit allgemein gehaltenen Infos und/oder Links zu aktuell diskutierten Änderungen, sowohl hier als auch anderswo, und ohne in einzelne Scripts oder CSS Codes zu gehen.
Z.B. => in Firefox 183, tabs wurde ersetzt durch Orang_Utan_Klaus, siehe Beitrag X hier und Beitrag Y da für nötige Änderungen, und jeder der dazu verwertbare Info findet bringt es dort ein.
leider einer Art Putzwut zum Opfer gefallen […] und das relativ lebhafte Userinteresse etwas abrupt unterbunden wurde
Das stimmt doch überhaupt nicht. Es wurde kein „Userinteresse unterbunden“. Und auch Formulierungen wie „Putzwut“ und „zum Opfer gefallen“ sind einfach deplatziert. Ich weiß wirklich nicht, wieso du plötzlich so provokant unterwegs bist.
Es war in diesem Forum im Übrigen schon immer gewünscht, dass jeder ein eigenes Thema für eigene Probleme erstellt, weil ansonsten die Übersichtlichkeit massiv leidet. Dass es unter anderem dieses Thema als Ausnahme gibt, hat eher historische als logische Gründe.
Es gibt auch Situationen, in denen es Sinn ergibt, ein einzelnes Thema zu nutzen. Wenn wir wirklich von einem einzigen Problem sprechen, welches ganz aktuell auftritt und mehrere Nutzer innerhalb kürzester Zeit betrifft, dann muss man nicht in fünf Themen das Gleiche schreiben. Aber dass es schwerfällt, in einem Thema 40 verschiedene Scripts in allen möglichen Varianten gleichzeitig zu behandeln, sollte auch klar sein.
evtl. gepinnte Thread
Von dieser Möglichkeit wurde schon häufiger Gebrauch gemacht und ist auch in der Zukunft immer eine Option, falls sich eine entsprechende Notwendigkeit ergibt. Man muss nur aufpassen, dass am Ende nicht 20 Themen angepinnt sind, denn das führt die Funktion ad absurdum. Und wir haben gefühlt schon etwas zu viele angepinnte Themen und müssten da mal etwas aufräumen.
Nur mal so als Hinweis.
Bitte für Fragen bei Problemen mit Skripten etc., einen eigenen neuen Thread erstellen, und nicht alles in diesem Sammelthread posten, danke.
Es wurden seit Jahren in diesem Thema Skript-Probleme vor allem mit den Skripten ursprünglich aus Ardimans, jetzt aus Endors Github diskutiert. Ich gebe zu, dass mein letzter Beitrag hier zu einem Skript von Aris war, aber das Problem betraf alle Skripte für zusätzliche Addon-Leisten. Es stimmt, man kann das in einzelnen Themen behandeln. Da ich nicht laufend hier im Forum unterwegs bin, war es für mich hilfreich, dass ich immer wusste, wo ich nach Lösungen für nicht mehr funktionierende Skripte suchen konnte. Und vor allem, ich hatte dieses Thema abonniert, so konnte ich die Benachrichtigungsmails überfliegen und sehen, ob ein Update zu neuen Problemen geführt hat. Wenn das jeweils in neuen Themen behandelt wird, bekomme ich diese E-Mails nicht mehr. Ich fände das schade und für mich deutlich aufwändiger. Ich hoffe, dafür gibt es noch einen einfachen Weg.
Wofür ist dann in Zukunft dieses Thema gedacht?
wo ich nach Lösungen für nicht mehr funktionierende Skripte suchen konnte
Hallo bege..
dann bist du einer der Ausnahmen.
In diesem Thread:
haben sich div. User schon bei nur rund 500 Beiträgen aufgeregt, es wäre alles zu unübersichtlich, und man würde nichts finden, ohne alle Beiträge zu lesen.
Warum das in diesem Thread bisher nicht der Fall war, und das bei mehr als 4000! Beiträgen kann ich nicht beantworten.
Außerdem gab es in dem anderen Thread sogar den Hinweis auf unsere Forenregeln, dass bei Fragen zu einem Skript immer ein eigener Thread zu erstellen wäre.
Wofür ist dann in Zukunft dieses Thema gedacht?
Das kann ich dir nicht beantworten.
Wofür ist dann in Zukunft dieses Thema gedacht?
Das ist ein Sammelthread, wo du Fragen zu einem Skript stellen kannst. Zu dem einen Skript wird es keine 80 Antworten geben, sondern nur ein paar und du musst auch nicht diesen Sammelthread hier von Anfang bis Ende durchforschen, da es immer nur um dein aktuelles Problem geht. Der andere Thread, der mittlerweile geschlossen wurde, war im Grunde genommen auch als Sammelthread angelegt, obwohl es am Anfang vielleicht nicht gleich so aussah. Aber all diese Skripte da hatten eine Gemeinsamkeit: Es ging um die Umstellung von Inline-Eventhandlern auf Codes mit der Methode .addEventListener. Die Anzahl der Skripte war hier begrenzt, wenn auch der Thread sehr lang wurde. Ich weiß jetzt nicht mehr, ob da Probleme behandelt wurden, die nichts mit Inline-Eventhandlern zu tun hatten. Die hätte man auslagern sollen.
Diesen Thread hier habe ich auf Bitten von loshombre eröffnet.
Er dient zum diskutieren von Problemen usw. von Scripten.
Ich hoffe dieser wird nicht auch noch geschlossen. Ich war schon nicht
einverstanden damit dass der andere Thread einfach geschlossen wurde,
da ich dort auch auf Hilfe bei einigen Scripten hoffte.
Mfg.
Endor
Ich hoffe dieser wird nicht auch noch geschlossen.
Dafür gibt es doch keinen Grund.
da ich dort auch auf Hilfe bei einigen Scripten hoffte.
So unterschiedlich ist das, einige regen sich auf, andere fanden den Thread nützlich.
dass der andere Thread einfach geschlossen wurde
In den letzten Beiträgen ging es dann nur noch um das Thema: Unübersichtlichkeit, und darum hatte ich ihn geschlossen.
andere fanden den Thread nützlich.
Ich sogar für sehr nützlich.
Schönen Sonntag wünsche ich Dir.
Mfg.
Endor
Schönen Sonntag wünsche ich Dir.
Danke, den wünsche ich dir auch
Ich sogar für sehr nützlich.
War er ja auch, für alle die Benutzerskripte nutzen. Die Skripte müssen ja umgebaut werden, wenn nicht jetzt, dann wenn Fx 136 final wird.
Ich kann die verschiedenen Bedürfnisse verstehen. Wenn es in dem von 2002Andreasgenannten Thema Beschwerden gab und in diesem hier nicht, wäre ich dankbar, die beiden Themen entsprechend unterschiedlich zu behandeln. Da wir auf das Github von Endor angewiesen sind, bitte ich, auch seine Meinung zu berücksichtigen.
Danke euch beiden für die hilfreiche Arbeit. 💛
Warum das in diesem Thread bisher nicht der Fall war, und das bei mehr als 4000! Beiträgen kann ich nicht beantworten.
Selbstverständlich gilt für dieses Thema grundsätzlich nichts anderes. Der einzige Unterschied ist, dass sich die Beiträge hier auf einen Zeitraum von bald zehn Jahren verteilen und in dem anderen Thema über einen sehr kurzen Zeitraum eine weit überdurchschnittliche Aktivität zu verzeichnen war, in dem jeder durcheinander geschrieben hat, teilweise über mehrere Versionen der gleichen Scripts diskutiert wurde und am Ende sogar Code-Auschnitte gepostet wurden, ohne überhaupt noch das verwendete Script zu zeigen. Es herrschte völliges Chaos in dem anderen Thema. Du warst die ganze Zeit in dem Thema aktiv und hast daher vielleicht mehr durchgeblickt als alle anderen. Aber für jemanden, der nicht so aktiv in dem Thema sein konnte, war es kaum noch realistisch möglich, noch den Überblick zu behalten. Ich schrieb ja auch, dass es mir nicht mehr möglich (!) war, in diesem Thema zu helfen. Und das führt dann die ganze Idee dieses Unterforms ad absurdum, in dem es darum geht, den Nutzern zu helfen. Würde die Aktivität in diesem Thema plötzlich genauso explodieren, würde es hier mit sehr hoher Wahrscheinlich ganz genauso aussehen.
Wie ich schon in dem anderen Thema schrieb: Es hat historische Gründe, dass dieses Sammelthema existiert. Aber normalerweise sind bei Problemen (!) eigene Themen aus guten Gründen vorzuziehen, was ja auch in den Forenregeln festgehalten ist und immer und in jedem anderen Thema hervorragend funktioniert hat. Es gibt keinen rationalen Grund dafür, wieso dieses Thema eine Ausnahme bildet, es ist einfach nur so „weil es halt immer so war“.
Ich war schon nicht
einverstanden damit dass der andere Thread einfach geschlossen wurde,
da ich dort auch auf Hilfe bei einigen Scripten hoffte.
Mir erschließt sich das Argument nicht. Wieso solltest du jetzt keine Hilfe mehr bekommen können? Wir helfen hier jedem Tag Nutzern mit ihren Scripts. Dir kann sogar sehr viel zielgerichteter geholfen werden, wenn nicht andere Nutzer mit ihren eigenen Problemen dazwischenquatschen.
Page info im Hauptkontextmenü (kompatibel mit Firefox v136.0a1)
// Page_Info_in_Context.uc.js
(async (
id = "context-viewPageInfo",
image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACp0lEQVQ4jV2TPW9cVRCGn3fOuffu9Xo3TnCEkANYQotB2WJpUqWwJSqIUuQPRKKlsAUFpeUmEpXXEv+ACClFitQowmUIMmxASowIkjuQk9jr/fDd7F3fQ7HWdcxI04zmfc47RzPif9G4cXdR0iqy5flL9VYRAoe9rCNpG9nW7v1be2/2qxR+/v0c0vp7C/NrV5euMCkijoYTXucnEALDYcaLwx7DLGsjbTy7d7NbAk7FP12/ttSq1uZ48vyYLA/UZhwg+qMCZ5A6GGVDesODDtLK0x8+69rUh9avX1tqWVzn0dMhWR4A8eDOxzy48xEyEWQcB4O0Tlq73JK5dQBr3Li7+P7C/NpsbY4nf2dTTxKYyhnNG/KGeQfeEVXrRJXqWvP2w0UvafXq0rv8+vz4TCwhJz795s/p62ZlHQkJ4uoFTnqvVj2y5UnwZOP8XNPj75rlTze/3MV5YU4IoQCJS5Bzy3b5rXrraDgBQQEMRgUH/QmNL/4oAXHiiSueJPUkM554JmK2FlGppC1fBBjnBeNJ4HAwQWZEicN7KwFRxeHjaU1mSDCbBIZ9jx0cHXfyyQkvD3NCAHPCnOEid85BUvEkMxGV6jQvzkVk45OOSdp+dTDAOZDpFCCcK3cMnziiiidJp+JaPcZZgZzfNmRbR4MBl2aENE0zIXc2go8cUeKJU0+lGvPhlYh/9kfI3Jbt3r+1N85ftykyUkcJ6Ww2SsCPX7+Nc4aPHY2FiH5vzL8vx+2dzeaeP93Ejfykv+zMtwKzAHzy1V8kaVTOXavFfDAP3f0BP+8cdGS2AWAAz+7d7CKtSL22D11U5MQBqha4GAfeqQYuKOP33/Z59PhFmxBWfvm2cXZMb0bz9sNFma3K+eUkSVs+dozyoiPnt2Vua2ezee6c/wN/E94boB6vcgAAAABJRU5ErkJggg==",
subst = `${id.toLowerCase()}-img`,
PHandler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler)
) => {
if (location != "chrome://browser/content/browser.xhtml") return;
if (!PHandler.hasSubstitution(subst))
PHandler.setSubstitution(subst, Services.io.newURI(image));
var menuitem = document.createXULElement("menuitem");
document.getElementById("context-viewsource").before(menuitem);
var hidden = () => {
var d = nsContextMenu.contentData, {context, browser} = d;
return context.link || d.selectionInfo.text || context.onImage || context.onCanvas || context.onVideo || context.onAudio || context.onTextInput || browser.className.startsWith("webext");
}
menuitem.hidden = true;
menuitem.render = () => {
if (hidden()) return;
menuitem.hidden = false;
menuitem.id = `${id}`;
menuitem.label = "Page Info";
delete menuitem.render;
menuitem.className = "menuitem-iconic";
menuitem.style.cssText = `list-style-image:url("resource://${subst}");`;
menuitem.addEventListener("command", () => gContextMenu.viewInfo());
menuitem.render();
menuitem.render = () => menuitem.hidden = hidden();
}
})();
Alles anzeigen
Hallo zusammen.
Habe hier ein Script von
nach geändert:
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:
// ==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
Was habe ich vergessen
Zeile 56 und 57, da sind noch zwei Inline-Eventhandler. Es muss nicht sein, dass nun das Skript funktioniert, weil du nur einen Inline-Eventhandler ersetzt hast.
und wie muss ich die ändern?
Wenn ich das wüsste, aber versuche mal Folgendes:
//panel.setAttribute('onpopuphiding', "uhr.clearPanel()");
panel.addEventListener('popuphiding', () => {
uhr.clearPanel();
});
//panel.setAttribute('onmousedown', "if (event.button == 1) uhr.openUrlFromPanel()");
panel.addEventListener('mousedown', event => {
if (event.button == 1) {
uhr.openUrlFromPanel();
}
});
Alles anzeigen
Wenn ich die beiden Aktionen richtig verstehe, wird beim Ausblenden eines Popups ein Panel geleert und bei einem Mittelklick mit der Maus wird eine URL aus dem Panel geöffnet.