Du hattest in deinem Skript aus #1 zwei unterschiedliche IDs verwendet:
Autsch, das tut ja schon fast weh.
Ok, Danke.
Du hattest in deinem Skript aus #1 zwei unterschiedliche IDs verwendet:
Autsch, das tut ja schon fast weh.
Ok, Danke.
Interresantes neues Script, werde ich auf jeden Fall mal ausprobieren.
Und ein Dickes Lob an Dich, BrokenHeart.
Ich würde gerne noch einmal auf eine Frage zurückkommen, die ich hier #18
schon einmal stellte.
Warum funktioniert "mein" Script nicht?
Es geht um Zeile 14.
dann wird der erste Tab mit dem ersten Link im Skript überschrieben.
Das dürfte dann aber auch nur im neuen Fenster passieren, und nicht wenn ich in meinem Hauptfenster auf das Icon klicke, denn dann würde es mir ja auch meine Startseite/Forum überschreiben.
Aber wie schon gesagt, ich brauche es nicht, da ich nie mit einem weiteren Fenster arbeite.
Habe ich auch gerade gemerkt.
Sorry.
Vielleicht so?
function onClick(event)
{
event.target.ownerGlobal.openTrustedLinkIn('https://www.tagesschau.de/',"current");
event.target.ownerGlobal.openTrustedLinkIn('https://www.zdf.de/nachrichten/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hessenschau.de/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hr3.de/',"tab");
}
Aber wenn es eine korrigierte Version dieses Scriptes geben sollte, ....
Es wäre universeller.
Bitte testen:
Wow, ich möchte jetzt nicht übergriffig werden, aber Du bist ein Schatz.
Danke.
Nachtrag.
Ich weis, ich bin eine Nervensäge:
In einem neuen Fenster gibts ja ein leeres Tab. Das könnte man verschwinden lassen/mitbenutzen.
Kommt ganz darauf an, wie ich die zweite Instanz starte.
Wird ein zweites Fenster aus dem Ersten gestartet, öffnet sich nur die Seite, die im zweiten Fenster sich auch öffnen sollte.
Wird ein zweites Fenster durch nochmaliges Starten des Firefox geöffnet, öffnet sich natürlich die Startseite.
Ich hab grade nochmal etwas rumgetestet und folgendes festgestellt:
Wenn ich ein 2. FF-Fenster öffne und dort den Button klicke, werden die Tabs im ersten Fenster geöffnet.
Kann das jemand von Euch mal gegenchecken?
...
Gerade gegengeprüft, yes ist so!
Da ich aber meist nur mit einem Fenster arbeite, stört es mich jetzt nicht so.
Aber wenn es eine korrigierte Version dieses Scriptes geben sollte, ....
Es wäre universeller.
Nachtrag.
openUILinkIn(url, where, params);
"url" ist klar!
"where" habe ich durch Ausprobieren herausgefunden,
die "möglichen Einträge" stehen ja da.
Nur was hat es mit "params" auf sich?
Was soll/kann da angegeben werden?
Sorry, mein Englisch ist in etwa genauso gut wie mein Chinesisch oder Hindu,
bzw. meine Übersetzungstools versagen hier.
Bitte testen:
Danke, jetzt geht es!
Dass es irgendwie an diesem Eintrag lag, vermutete ich auch schon,
aber warum kann man da nicht einen X-beliebigen nehmen?
Z.B. id: 'link-button-coffee',
Du meinst den Button?
Funktioniert hier einwandfrei.
Sorry 2002Andreas, ich hätte natürlich das Problem viel genauer beschreiben sollen ![]()
Ich habe zwei weitere Scripts laufen, ein Quicklink für das Board
und ein Quicklink für about:about.
Nun sind in beiden Scripts besagte id's.
Einmal id: 'link-button-cf' und im Zweiten id: 'link-button-about'
Je nachdem welchen von diesen zwei id's ich in meinem "Morning Coffee Script" ich nutzte
hatte es den unschönen Effekt, dass beim Verschieben jenes Buttons, dieser plötzlich verschwand
und eben der andere Button, an dessen Stelle verschoben wurde.
Schnell wurde mir klar, dass es eben an dieser id, siehe im neuen Script von BrokenHeart Zeile 14,
liegen müsste. Daraufhin änderte ich die id z.B. in 'link-button-mc', doch das Resultat war,
der "Morning Coffee Button" verschwand.
Jetzt ist das Problem gelöst.
Danke noch einmal dafür.
PS:
Wenn Du das noch einmal Nachvollziehen möchtest, nimm das Script aus Beitrag #13
und dieses hier =>
// JavaScript Document
// QuickLinkButton-cf.uc.js
(function() {
if (location.href !== AppConstants.BROWSER_CHROME_URL) return;
try {
CustomizableUI.createWidget({
id: 'link-button-cf',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'link-button-cf',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink: camp-firefox.de/...',
accesskey: '',
tooltiptext: 'Quicklink:\nForum - camp-firefox.de',
style: 'list-style-image: url(data:image/x-icon;base64,AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wT///9I////iv///6r6+f+qsKH/iOfi/0JsR/8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFU/0b////Y////////////////Z0j//ywA//8sAP//LAD/3Eol/z4AAAAAAAAAAAAAAAAAAAAAAAAAAN/Z/2hBGf/89vT//////////////////6GN//8uAv//LAD//ywA//8/F//64t3/XAAAAAAAAAAAAAAAAP///0idif/8LAD//97W///////////////////+/v//knv//zcO//8sAP//LAD//6KP//r///86AAAAAP///wb////eZkb//ywA//+Jcf///////////////////////+Da//94XP//LAD//ywA//9sTv//////0v///wL///9S/////1k3//8sAP//LwT///Pw//////////////Xz//8yB///LAD//ywA//8sAP//YUD///////////9C////mP////96X///LAD//ywA///Dtv//i3P//2RE//+AZf//e1///ywA//8sAP//LAD//3le////////////iP///7r/////08r//y4D//8sAP//Tin//ywA//8sAP//LAD//zII//9FHv//LAD//ywA//+yov///////////6r///+6//////////+jkP//LAD//ywA//8sAP//LAD//ywA//9XNP//4tz//y8D//9BGv//9/X///////////+q////mv///////////////5B5//8sAP//LAD//ywA//8sAP//blD///////9jQv//v7L/////////////////iv///1b////////////////+/v//eV3//ywA//8sAP//LAD//6eV////////6ub//////////////////////0j///8I////5P////////////////j3//9JI///LAD//0gh///29P///////////////////////////9j///8EAAAAAP///1L/////////////////////Z0j//z8Y///b0/////////////////////////////z///9EAAAAAAAAAAAAAAAA////eP//////////8e7//5+L///v7P////////////////////////////z///9oAAAAAAAAAAAAAAAAAAAAAAAAAAD///9S////5P///////////////////////////////////97///9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wj///9W////mv///7r///+6////mP///1L///8GAAAAAAAAAAAAAAAAAAAAAPw/AADwDwAA4AcAAMADAACAAQAAgAEAAAAAAAAAAAAAAAAAAAAAAACAAQAAgAEAAMADAADgBwAA8A8AAPw/AAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bv///y7///9O////Xv///1z///9M////KP///wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8M////Yv///7j////2//////////////////////Pw//+qmf//qZj/8N3W/678/P9WbEf/DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYgv8M////dv///+z////////////////////////////////b1P//Rh///ywA//8sAP//KwD//y4B//8rAP/wLAD/gCUA/wgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMH/MFs6/9r//////////////////////////////////////////1Et//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//Ngz/ztHH/yIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1J3Wv/2NQz///79////////////////////////////////////////WDX//z0U//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//fWL/7P///zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9Uy8D/+iwA//8tAf//3tf////////////////////////////////////////29P//+fj//zUL//8sAP//LAD//ywA//8sAP//LAD//ywA//8tAv//1Mz/9P///zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Nv////ZlRf//LAD//y0B///Rxv/////////////////////////////////////////////+/v//XDr//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//9wU///////7P///yIAAAAAAAAAAAAAAAAAAAAAAAAAAP///wz////c6OP//y0B//8sAP//LAD//6iW///////////////////////////////////////////////////9/f//wrb//1o4//8sAP//LAD//ywA//8sAP//LAD//zAF///x7v//////xP///wQAAAAAAAAAAAAAAAAAAAAA////hP////+woP//LAD//ywA//8sAP//Tir///38////////////////////////////////////////////////////////8vD//zYM//8sAP//LAD//ywA//8sAP//LAD//72w////////////ZAAAAAAAAAAAAAAAAP///xT////0/////5B5//8sAP//LAD//ywA//8sAP//rp3/////////////////////////////////////////////29P//6qY//+IcP//MQb//ywA//8sAP//LAD//ywA//8sAP//nIf////////////i////BgAAAAAAAAAA////dv//////////g2j//ywA//8sAP//LAD//ywA//85EP//9vP//////////////////////////////////+Lc//8xBv//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//+Se/////////////////9WAAAAAAAAAAD////O//////////+Lc///LAD//ywA//8sAP//LAD//ywA///Z0f//////////////////////////////////9PL//0AY//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//5qF/////////////////64AAAAA////Fv///////////////6ua//8sAP//LAD//ywA//8sAP//LAD//62c////////7uv//6OQ//+sm///jHT//5eC///8+///zcP//zkQ//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//s6T/////////////////8P///wT///9I////////////////5uD//y0B//8sAP//LAD//ywA//8sAP//YED///////9uUP//LAD//ywA//8sAP//LAD//0AZ//9+Y///Z0j//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA///b0///////////////////////KP///2z/////////////////////blD//ywA//8sAP//LAD//ywA//8sAP//saD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//QRr///79//////////////////////9M////fP/////////////////////i3P//Ngz//ywA//8sAP//LAD//ywA//8vBP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//0Yg//+MdP//LwT//ywA//8sAP//LAD//ywA//+Jcf///////////////////////////1z///9+//////////////////////////+7rf//LQL//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//fGD///////+Xgf//LAD//ywA//8sAP//LgP//+Ha////////////////////////////Xv///27///////////////////////////////+lk///LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//+Jcf////////Ty//83Dv//LAD//ywA//9/Zf////////////////////////////////9O////Tv////////////////////////////////////+Xgv//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//5+L/////////////3ld//8sAP//QRr///Ds/////////////////////////////////y7///8e//////////////////////////////////////7+//9/Zf//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//ywA//8sAP//xLj/////////////tab//zII///Pxf/////////////////////////////////2////BgAAAAD////Y//////////////////////////////////////z7//9rTf//LAD//ywA//8sAP//LAD//ywA//8sAP//LAD//zMI///18//////////////o4///xLf//////////////////////////////////////7gAAAAAAAAAAP///4L///////////////////////////////////////////b0//9WNP//LAD//ywA//8sAP//LAD//ywA//8sAP//d1v/////////////////////////////////////////////////////////////////YgAAAAAAAAAA////Hv////r//////////////////////////////////////////+Xf//83Dv//LAD//ywA//8sAP//LAD//zAF///c1f///////////////////////////////////////////////////////////+z///8MAAAAAAAAAAAAAAAA////lv///////////////////////////////////////////////5R+//8sAP//LAD//ywA//8sAP//l4L/////////////////////////////////////////////////////////////////dgAAAAAAAAAAAAAAAAAAAAD///8U////6P//////////////////////////////////////////u67//ywA//8sAP//LAD//3NX///9/f///////////////////////////////////////////////////////////9T///8IAAAAAAAAAAAAAAAAAAAAAAAAAAD///9K/////P////////////////////////////////////+Kcv//LAD//ysA//97YP//+/r////////////////////////////////////////////////////////////2////MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9u////////////////////////////////7Oj//zkR//9ePf//wbT///7+////////////////////////////////////////////////////////////+v///1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9u/////P/////////////////////Z0v//5uH///////////////////////////////////////////////////////////////////////b///9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9K////6P/////////////////////////////////////////////////////////////////////////////////////////c////NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8U////lv////r////////////////////////////////////////////////////////////////////0////hP///wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Hv///4L////Y///////////////////////////////////////////////O////dv///xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8e////Tv///27///9+////fP///2z///9I////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////4Af//4AA//4AAH/8AAA/+AAAH/AAAA/gAAAHwAAAB8AAAAPAAAADgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAPAAAADwAAAB+AAAAfwAAAP+AAAH/wAAD/+AAB//wAA///AB///////)',
onclick: "openTrustedLinkIn('https://www.camp-firefox.de/forum/', 'tab')"
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
}) ();
Alles anzeigen
...
Vielleicht kann Mira_Belle ja damit was anfangen.
Ich nutze lieber meine angehefteten Tabs und den Weg über Ordner...
Klasse!
Fast perfekt! Es funktioniert einwandfrei ![]()
Ich kann's nur nicht verschieben. ![]()
Alles anzeigenWenn mich nicht alles täuscht, verhindert der Browser aus Sicherheitsgründen, dass
sich bei einem klick gleich mehrere neue Tabs mit Links öffnen. Da das nach einem Virus aussieht.
Habe ich mal irgendwo gelesen. Finde die Seite im Moment leider nicht mehr.Hätte eine Älternative:
Dieses Script hier öffnet je nach klick, also linksklick, rechtsklick, Mittelklick, usw.
bis zu 9 verschiedene Adressen. Jeweils in einem neuen Tab.JavaScript Alles anzeigen// Customhomebutton.uc.js // Firefox 107 kompatibel // https://www.reddit.com/r/FirefoxCSS/comments/9klrpp/bookmark_buttons/ // Linksklick: Camp-Firefox Forum, Mittelklick: Bild.de, Rechtsklick: Google News, Umschalt + Linksklick: Computerbase Forum, // Strg + Linksklick: Thunderbird Mail Forum, Umschalttaste + Mitteklick: Stern.de, Strg + Mitteklick: Spiegel.de, // Strg + Rechtsklick: ZDF.de, Umschalttaste + Rechtsklick: ARD.de // In Zeile 31 kann der Tooltip-Text den eigenen Wünschen entsprechend geändert werden. (\n fügt einen Zeilenumbruch an der entsprechenden Stelle ein.) // Text muss nur geändert werden, wenn man andere Internetadressen, URls, als die vorgegebenen, verwenden will. (function() { if(location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget ( { id: 'click-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); toolbaritem.onclick = event => onClick(event); var props = { id: 'click-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'Benutzerdefinierte Home-Schaltfläche', tooltiptext: 'Linksklick: camp-firefox.de/Forum\nMittelklick: Bild.de\nRechtsklick: Google News\nStrg + Linksklick: Thunderbird Forum\nStrg + Mittelklick: Spiegel.de\nStrg + Rechtsklick: ZDF.de\nUmschalttaste + Linksklick: Computerbase Forum\nUmschalttaste + Mittelklick: Stern.de\nUmschalttaste + Rechtsklick: ARD.de', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEHUlEQVR42mL8//8/Ay0AQAARja7OiPS4NDM2lFj1AAHEQkjBqlBtNgNfhx5Zq4B0BkYm5nsrRbzPrNmVFrb66q8TvcHBvDL6nCB1317f5TfNWTgVpg8ggBjxGXqsydJQRtdujqSBgxHjlydAc1kZGPhVGF5cPXL9w71LCZyqTiWKzsmhf//8ZHh9+cAbSSMPUZhegADC6eJLPY6FUgZ2Nbx8vEJ/H+5j+PHj779//xj+8wg9ZRaTltZk5+be9/bZ7es/Pr5k+P39M8Ovb+9QHAkQQBgG7yjUFpKXF5kvo23ow/j1JtOvL38ZPvzgYeDUDmdi5uBleHFhOYOI4AsGbjZebj5NNZO/D3Zc+8Emr/Xz81sUcwACCMWWi72OcQL87BP4OH8J/v/xjuHPfzaG74I2DMJ2+QzM7FxgNf/+/mZ4c3QOA/f3qwwcnKwMTHyyDIzcMm/u3bz3XTuqVw5mFkAAMUIiiIFZWUmkR0KSJ5f17wdmhv//GL6yKTPwWFUwCOr5YQ2qz/dPMnw9O5uBl/k1AyMrN8NfZqF/zx/eW3Ll8P6ksNUMfwECiHFfqpw2B/Of6QJsv22ZWf4wMLL8Z/in4Mwg7lXLwMYvhjfF/Pv9g+Hd0ekM7K/2MLCzswAt4GN48+7H+fdvP2QABBBjqYnMaVVeThMmlr8MMrJ8f3RiClmk7KNJSuPvr2xjuLW55ue3T6/YGZiZGS4//n8fIIBAQaEFxOC0OG/6xJmhoQHG5GSgWfOWnC4uq86Ecv8CBBAoVVyDSUrKKUlwC0oTNOT/729A/J3hPzAiGRmZGBiYWBjUVFXEgVJnYWoAAggluX3++Prh90+vUEy+evYYAxsHFyIZ/f3B8OvrJwZtAyOgDWBrgIIMDMz/fqFYDhBAKAZzcPIJsnMLoij48eUzg5wUciTyMNx48RgYlECt4ALsPzhxcXBy8iDrAwggFIN//vj2+fePr6gx//UVA+OTF6hh8e0bOEUgDGZiYGVm/oOsBCCAUAxmZGT8z8zKhhD4+4uB8etLBsYft1AN/inPwPj/LzTA/4PMZWBlY2dHVgIQQCgGs///JvrvwyNIvgFmEpDBDF9eMDB+PopqMA8PMOL+QF37H2gJCwMrKwszshKAAEIx+Nevn0ygGAdrgFYAP37/ZXjy8R+qg9n/gnIHwsVAI1lY2ZiQ1QAEEIrBXz99Yv//99c/aEQD9fxj/PyHheHNVzGUMoXjLwcDEwc/MJeyMTAyswNpDgbmN3dZt03K5fPKm/wJpAYggFAMvnH98pmV39+Jg5Lm//+gEGdkfPrksyArqwYTxCoI+PPs078vy5Z+QNb79v37359Ypb/A+AABhOKSzVNKgYmTQQJv+fCf4SOwvH+FLv7nF8O/wLzuuzA+QAAx0qoyBQgwAJQfbf9bqPxfAAAAAElFTkSuQmCC)' }; for(var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } } ); } catch(e) {}; function onClick(event) { window.oncontextmenu = function () /*context menu = right-click*/ { if (event.shiftKey) return true; else { openTrustedLinkIn('https://www.camp-firefox.de/forum/',"tab"); return false; } } if(event.button == 0) /*left click*/ { if (event.shiftKey) openTrustedLinkIn('https://www.computerbase.de/forum/',"tab"); else if (event.ctrlKey) openTrustedLinkIn('https://www.camp-firefox.de/forum',"tab"); else openTrustedLinkIn('https://www.thunderbird-mail.de/forum/',"tab"); } else if(event.button == 1) /*middle click*/ { if (event.shiftKey) openTrustedLinkIn('https://www.stern.de/',"tab"); else if (event.ctrlKey) openTrustedLinkIn('https://www.spiegel.de/',"tab"); else openTrustedLinkIn('https://www.bild.de/',"tab"); } else if(event.button == 2) /*right click*/ { if (event.shiftKey) openTrustedLinkIn('https://www.ard.de/',"tab"); else if (event.ctrlKey) openTrustedLinkIn('https://www.zdf.de/',"tab"); else openTrustedLinkIn('https://news.google.com/',"tab"); return false; } /*alert("Right mouse button")*/ } } ) ();Vielleicht hilft Dir das weiter.
Mfg.
Endor
Oh, das Script kommt mir irgendwie bekannt vor. Button_PersonalToolbar.uc.js
Oder, wie funktioniert das mit dem Lesezeichnen-Ordner.
Wenn in einem Ordner Lesezeichen sind, steht bei mir im geöffneten Ordner ganz unten "Alle in Tabs öffnen".
Bei Dir nicht?
Und wenn ich mit der rechten Maustaste auf einen ordner klicke, gibts (bei mir) im Kontext-Menü auch einen Eintrag "alle Lesezeichen öffnen".
Ah, jetzt verstehe ich!
Und genau deshalb möchte ich das nicht so.
Die Links zu den Seiten sind z.T. gar nicht gespeichert
und jene, welche gespeichert sind, sind in unterschiedlichen Ordner.
Also bleibt nur die Idee, die ich anfangs schon hatte.
Ein Script welches mehrere Seiten öffnet,
ähnlich der Erweiterung "Morning Coffee Quantum".
Damit bin ich wieder am Anfang.
...
onclick: "openTrustedLinkIn('https://www.tagesschau.de/', 'tab')",
onclick: "openTrustedLinkIn('https://www.zdf.de/nachrichten/', 'tab')",
onclick: "openTrustedLinkIn('https://www.hessenschau.de/', 'tab')",
onclick: "openTrustedLinkIn('https://www.hr3.de/', 'tab')"
};
Funktioniert nicht, weil die Einträge sich mit jeder Zeile überschreiben.
onclick: "openTrustedLinkIn('https://www.tagesschau.de/', 'tab'),
('https://www.zdf.de/nachrichten/', 'tab'),
('https://www.hessenschau.de/', 'tab'),
('https://www.hr3.de/', 'tab')"
};
Geht auch nicht, weil die Einträge nach (hinter) der ersten Zeile ignoriert werden.
Wie kann ich in about:preferences die drop-down menüs im offenen Zustand anpassen?
Anklicken (öffenen) und dann X-beliebigen Eintrag mit linker Maustaste anklicken.
In diesem sich neuen Menü dann Untersuchen anklicken.
Was spricht gegen einen Lesezeichnen-Ordner, der diese Funktion von Haus aus hat?
Es öffnet sich nur hr3.de.
Logisch, denn du überschreibst onclick ja mehrfach und öffnest bei der letzten und damit entscheidenden Definition lediglich diese eine Seite und sonst nichts.
Verstehe!
Was musste ich also ändern, dass onclik nicht überschrieben wird?
Oder, wie funktioniert das mit dem Lesezeichnen-Ordner.
Und mein zweites Problem, mit den Variablen und der berechneten Pfadangabe?
Versuche gerade so etwas wie "Morning Coffee Quantum" nachzubauen.
Es geht darum, mit einem Klick auf ein Symbol gleich mehrere Seiten zu öffnen!
Hier mein Versuch, der nicht funktioniert.
(function() {
if (location != AppConstants.BROWSER_CHROME_URL) return;
try {
CustomizableUI.createWidget({
id: 'link-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'link-button-cf',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink',
accesskey: '',
tooltiptext: 'Quicklink:\nForum - camp-firefox.de',
style: 'list-style-image: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/iff60u96.default-release/chrome/icons/icons8-rating-circled-48.png")',
onclick: "openTrustedLinkIn('https://www.tagesschau.de/', 'tab')",
onclick: "openTrustedLinkIn('https://www.zdf.de/nachrichten/', 'tab')",
onclick: "openTrustedLinkIn('https://www.hessenschau.de/', 'tab')",
onclick: "openTrustedLinkIn('https://www.hr3.de/', 'tab')"
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
}) ();
Alles anzeigen
Es öffnet sich nur hr3.de.
Was muss ich ändern, damit sich alle Seiten öffnen?
Was auch nicht funktioniert:
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Die Pfadangabe zu dem Profilordner
let buttonicon = "icons8-rating-circled-48.png" // Name & Dateiendung des anzuzeigenden Symbols
Warum?
Es ist egal, ob ich diese Zeilen ganz an den Anfang setze,
oder sie zwischen var tolbaritem ... & var probs ... quetsche.
Was ist da das Problem?
Das habe ich nämlich auch in anderen Scripts!
Alles, was ich bisher gelernt habe, habe ich versucht hier umzusetzen.
Variablen gehören an den Anfang.
Bei manchen geht das aber nicht.
Sören Hentzschel trichterte mir ein location.href !== anstatt location != zu nutzen.
Das mit der Pfadangabe habe ich nun auch verstanden und nutze es.
Ist einfacher, das Symbol auszutauschen und das Script wird dadurch flexibler.
Das mit der Tastaturabfrage habe ich herausgenommen, nutze ich eh nicht
und funktionierte bei mir auch nicht.
So, hier nun die überarbeitete Version.
// Button_PersonalToolbar.uc.js
// Source file https://www.camp-firefox.de/forum/thema/134920-schaltfl%C3%A4che-um-lesezeichen-leiste-ein-auszublenden/?postID=1205823#post1205823
// Source file https://www.camp-firefox.de/forum/thema/134920-schaltfl%C3%A4che-um-lesezeichen-leiste-ein-auszublenden/?postID=1213680#post1213680
// PersonalToolbar_ausblenden
// basierend auf den Ideen von BrokenHeart
let startVisibility = 'collapse'; //'visible' oder 'collapse' Der Startzustand wird definiert:"visible" startet mit sichtbarer Leiste
let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden /5000 => 5sec
let intervalID = 0;
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Die Pfadangabe zu dem Profilordner
let buttonicon = "bookmark-hollow.svg" // Name & Dateiendung des anzuzeigenden Symbols
let persToolbar = document.getElementById('PersonalToolbar');
(function ptbut() {
if (location.href !== 'chrome://browser/content/browser.xul' && location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'PersonalToolbar-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createXULElement('toolbarbutton');
let props = {
id: 'PersonalToolbar-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Toggle',
tooltiptext: 'Lesezeichenleiste ein-/ausblenden',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
CustomizableUI.registerToolbarNode(tb);
} catch(e) { };
if( startVisibility === 'visible' || startVisibility === 'collapse' ) {
document.getElementById('PersonalToolbar').style.visibility = startVisibility;
}
else {
document.getElementById('PersonalToolbar').style.visibility = 'visible';
}
document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick );
function onClick(aEvent) {
if (persToolbar.style.visibility == "") {
persToolbar.style.visibility = "collapse"; }
else if (persToolbar.style.visibility == "visible") {
persToolbar.style.visibility = "collapse"; }
else if(persToolbar.style.visibility == "collapse") {
persToolbar.style.visibility = "visible";
if(!intervalID && autoCloseTime) {
intervalID = aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime );
}
}
}
function autoClose() {
if( intervalID ) {
if( persToolbar.style.visibility == "visible") {
persToolbar.style.visibility = "collapse";
clearInterval(intervalID);
intervalID=0;
}
}
}
})();
Alles anzeigen
Gerne! Skript basierte ja noch auf dem, was ich mal für Horstmann angepasst hatte. Da stimmen natürlich die Pfade und ein paar andere Sachen (Startwert) nicht bei dir. Da ist natürlich noch eigene "Bastelarbeit" von Nöten
.
![]()
Was meinst Du genau?
Das Script funktioniert genau so wie ich es mir erhofft hatte.
Aber welche Pfade?
Andere Sachen? Startwert?
Sorry, verstehe ich nicht. Kannst Du mir die Zeilen benennen, wo ich noch nacharbeiten muss?
Das ist so cool, ....
![]()
Vielen, vielen lieben Dank.
Habe noch etwas daran herumgebastelt.
Beim Starten des Firefox war die Leiste eingeblendet.
Nicht so meins.
Dann war bei mir kein Icon sichtbar, habe ich geändert.
Mit den Variablen in Zeilen 20, 21 und 22 konnte ich nichts anfangen!
Gelöscht.
Zeile 58 anstatt let habe ich var genutzt, ja ich weiß sollte man besser nicht.
Und als Variablennamen d2 anstatt persToolbar. Dafür habe ich jetzt aber keine Begründung,
weil's kürzer ist?
Hier das Script:
// Button_PersonalToolbar.uc.js
// Source file https://www.camp-firefox.de/forum/thema/134920-schaltfl%C3%A4che-um-lesezeichen-leiste-ein-auszublenden/?postID=1205823#post1205823
// Source file https://www.camp-firefox.de/forum/thema/134920-schaltfl%C3%A4che-um-lesezeichen-leiste-ein-auszublenden/?postID=1213668#post1213668
// PersonalToolbar_ausblenden
// basierend auf den Ideen von BrokenHeart
var d2 = document.getElementById('PersonalToolbar');
(function ptbut() {
if (location != 'chrome://browser/content/browser.xul' && location != 'chrome://browser/content/browser.xhtml') return;
let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden
let intervalID = 0;
// Der Startzustand wird definiert:
// d2.style.visibility = "visible";
// startet mit sichtbarer Leiste
d2.style.visibility = "collapse";
try {
CustomizableUI.createWidget({
id: 'PersonalToolbar-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'PersonalToolbar-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Toggle',
tooltiptext: 'Toggle Bookmarktoolbar',
style: 'list-style-image: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/iff60u96.default-release/chrome/icons/bookmarks-toolbar.svg")',
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
CustomizableUI.registerToolbarNode(tb);
} catch(e) { };
document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick );
document.addEventListener('keydown', (event) => {
var keyName = event.key;
// Mac : Funktion wird ausgeführt, wenn Shift + Cmd + b gedrückt wird
if (event.shiftKey && event.metaKey && keyName == 'b') {
onClick(event);
}
}, false
);
function onClick(aEvent) {
var d2 = document.getElementById('PersonalToolbar');
if (d2.style.visibility == "") {
d2.style.visibility = "collapse"; }
else if (d2.style.visibility == "visible") {
d2.style.visibility = "collapse"; }
else if(d2.style.visibility == "collapse") {
d2.style.visibility = "visible";
if(!intervalID && autoCloseTime) {
intervalID = aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime );
}
}
}
function autoClose() {
if( intervalID ) {
let d2 = document.getElementById('PersonalToolbar');
if( d2.style.visibility == "visible") {
d2.style.visibility = "collapse";
clearInterval(intervalID);
intervalID=0;
}
}
}
})();
Alles anzeigen
Was bitte soll das Vehindern von Browser-Abstürzen auf Grund von RAM-Mangel mit der Update-Funktion von about:addons zu tun haben? Ich arbeite ja in einer Kreativ-Branche, aber dafür fehlt mir die Phantasie.
Nun ja, ich habe nur beschränktes technisches Verständnis, aber ...
ZitatAlles anzeigen...
Darüber hinaus muss die Anwendung sich fest an bestimmte Speicherbereiche binden, ...
oder
In dem Blogbeitrag heißt es: "Als wir anfingen, Abstürze wegen Speichermangels zu analysieren, entdeckten wir, dass viele Benutzer reichlich physischen Speicher hatten - manchmal Gigabytes -, aber keinen Commit-Speicher mehr."
UND
Abwarten als Erfolgsstrategie
Warum dies geschieht, kann das Mozilla-Team nicht sagen. Vermutet wird, das der Commit-Space von Grafiktreibern belegt ist, um die Texturen später aus dem VRAM auslagern zu können. Daran können die Firefox-Entwickler nichts ändern, sie haben aber noch einen "Trick im Ärmel".
Anwendungen mit einem Out-of-Memory-Fehler werden von Windows nicht direkt beendet. Die geplante Speicherzuweisung wird nicht durchgeführt, die Anwendung selbst entscheidet über weiteres Vorgehen. Windows selbst erweitert danach den Swap, so dass es wieder mehr Speicher gibt.
Grade dieser letzte Teil bracht mich auf diese Idee.
Denn wenn man das Script direkt ein zweites Mal ausführte, funktionierte es ja!
Meine Schlussfolgerung eventuell betrifft es die Laufzeitumgebung für das JavaScript,
das ja von Firefox zur Verfügung gestellt wird, ebenso.
UND ich schrieb ja in meiner [ot] Anmerkung, Eventuell könnte ...
Alles anzeigenwir haben einen Aspekt bisher außen vor gelassen und zwar, dass der Fehler gar nicht durch das Skript verursacht wird, sondern Firefox an dieser Stelle einen Bug hat.
Folgendes konnte ich bei mir mehrfach reproduzieren (auch im Fehlerbehandlungsmodus!):
Wenn man sich eine ältere Datei-Version eines Addons installiert und dann manuell auf 'Auf Updates überprüfen' geht, dann zeigt sich genau das gleiche Verhalten wie beim Skript, welches in #1 von 2002Andreas beschrieben wurde:Die Updates werden nicht sofort angezeigt und man muss erst auf 'kürzlich durchgeführte Updates anzeigen' klicken.
Wo genau soll da jetzt der Bug in Firefox sein? Es geht um die Funktion zur Prüfung auf Updates. Sind automatische Updates deaktiviert, muss man auf „Verfügbare Updates anzeigen“ klicken. Sind automatische Updates aktiviert, werden diese dementsprechend automatisch installiert. Es gibt also keinen Grund, irgendetwas anzuzeigen. Kürzlich durchgeführte Updates anzuzeigen ist eine separate Funktion, die nicht in der Überprüfung auf Updates inbegriffen ist. Das Verhalten ist in Firefox ESR 102 exakt identisch zu Firefox 107.
Dass man direkt auf die Seite mit den Updates gelangt, ist eine Funktion des Scripts. Das ist kein Standard-Verhalten von Firefox. Wenn es damit Probleme gibt, ist das also kein Fehler von Firefox.
Ich nehme einmal kurz Bezug auf diesen Sachverhalt!
Eventuell könnte dieser Beitrag auf Golem das (Fehl-)verhalten etwas erhellen.
Es scheint so, als läge es weder am Script, noch am Firefox, sondern ganz einfach an Windows!
Aber lest selbst => Out-of-Memory-Fehler