Bei mir eben aber nicht
Ich wollte den Code mal in ein Symbol umwandeln lassen, statt dessen öffnet sich eine Suchseite von Google. Liegt vielleicht am Mime-Typ svg+xml.
Bei mir eben aber nicht
Ich wollte den Code mal in ein Symbol umwandeln lassen, statt dessen öffnet sich eine Suchseite von Google. Liegt vielleicht am Mime-Typ svg+xml.
Ich meinte das eher so, das wir automatisch dazu schreiben würden, wenn das Skript noch "Reparaturbedürftig" ist...
War nur Spaß von mir.
Du meinst in einem Thread, der schon etwas länger ist? Denn in der Regel eröffnet ein Nutzer einen Thread und schreibt, dass das Skript nicht mehr funktioniere. Der andere Thread, den Andreas ja nun geschlossen hat, betraf ja eigentlich einen Sonderfall. Die Inline-Eventhandler wurden abgeschafft und das gilt eigentlich erst ab Fx 136. Die Inline-Eventhandler sind aber eigentlich eine Altlast und schon lange nicht mehr notwendig, denn die Methode mit .addEventListener gibt es schon lange und kann deshalb jetzt schon auch auf den finalen Fx 134 angewandt werden. Normalerweise betrifft es dann Nutzer vom finalen Firefox erst acht Wochen später, wenn ein Nightly final wird. In dieser Zeit haben sonst die Helfer die Möglichkeit vorzuarbeiten, um dann gewappnet sein, wenn es für Nutzer der finalen Version ernst wird.
wenn sie von den "alten Hasen" kommen)...
Ja, ich als Hase sehe bei JavaScript oft sehr alt aus … ![]()
Muss jetzt auch noch schnell meinen OT-Senf dazugeben. Danach ist aber Schluss mit dem rumgeheule!
Nur noch das: Man sollte mal auch an die Helfer denken. Die Helfer müssen dann statt über einen Thread über z. B. zehn Threads die Kontrolle behalten, während der Nutzer, der nur eins der Skripte verwendet oder nur mit diesem einen ein Problem hat, sich nur diesen einen Thread ansehen muss.
Ich nutze noch dieses:
// RestartFirefoxButtonM.uc.js
// v. 0.3
(function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'restart-button2a',
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: 'restart-button2a',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'Nowy start',
tooltiptext: 'Nowy start (přez prawe a srjedźne kliknjenje so pufrowak userChrome.js wuprózdni)',
style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
toolbaritem.addEventListener('click', event => {
if (event.button == 0) {
Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
}
if (event.button == 1 || event.button == 2) {
Services.appinfo.invalidateCachesOnRestart();
Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
}
});
return toolbaritem;
}
});
} catch (e) {};
})();
Alles anzeigen
Das ist wohl das gleiche, welches Andreas früher genutzt hat. Die beiden anderen Varianten für – das Hamburger-Menü und das Menü Datei – habe ich als eigene Skripte. Ich hoffe die sorbischen Texte für label: und tooltiptext: erschweren nicht das Verständnis meines Skriptes. ![]()
Wer einen anderen User (mich) einen beitragslosen nutzlosen Meckerer nennt - und das hast du
Das habe ich nicht. Auch noch so eine provozierende falsche Bemerkung. Was soll diese Aggressivität?
Mit ignoranten Beleidigungen kann ich umgehen, bei billigen Ausreden ist Schluss.
Was für billige Ausreden und ich hoffe, das mit den „ignoranten Beleidigungen“ ist nicht auf mich gemünzt. Ansonsten wäre das noch so eine haltlose Unterstellung. Du solltest lieber mal meinen Beitrag #530 noch einmal in Ruhe lesen. Dort habe ich ganz sachlich meine Meinung geschrieben. Wenn du dich dadurch auf den Schlips getreten fühlst, mach das mit dir aus und lass das nicht an mir aus. ![]()
Wenn du das dann alles für nutzlosen Schrott hälst, dann ist das halt deine Meinung, genauso wie meine Meine ist.
Das habe ich nirgendwo behauptet, dass das, was du einbringst, nutzloser Schrott sei. Also bitte lass derartige Unterstellungen.
Bei mir ist die Schaltfläche da. Hier meine Version:
// 'Vertical Add-on Bar' script for Firefox by Aris
//
// no 'close' button
// 'toggle' toolbar with 'Ctr + Alt + /' on Windows/Linux or 'Cmd + Alt + /' on macOS
// optional toggle button hides the toolbar temporarily, it gets restored on every restart
// 'Vertical Add-on Bar' entry is only visible in toolbars context menu when in customizing mode
//
// flexible spaces on toolbar work 'vertically'
// toolbar can be on the left or on the right
// toolbar is display horizontally in customizing mode
// [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
var AddonbarVertical = {
init: function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
/* blank tab workaround */
try {
if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
} catch(e) {}
var addonbar_v_label = 'Vertical Add-on Bar'; // toolbar name
var button_label = 'Toggle vertical Add-on Bar'; // Toggle button name
var addonbar_v_togglebutton = true; // display toggle button for vertical toolbar (true) or not (false)
var addonbar_v_on_the_left = false; // display vertical toolbar on the left (true) or the right (false)
var style_addonbar_v = true; // apply default toolbar appearance/colors to vertical add-on bar
var addonbar_v_width = '30px'; // toolbar width
var compact_buttons = false; // compact button size (true) or default button size (false)
try {
if(document.getElementById('toolbox_abv') == null && document.getElementById('addonbar_v') == null) {
var toolbox_abv = document.createXULElement('toolbox');
toolbox_abv.setAttribute('orient','horizontal');
toolbox_abv.setAttribute('id','toolbox_abv');
toolbox_abv.setAttribute('insertbefore','sidebar-box');
var tb_addonbarv = document.createXULElement('toolbar');
tb_addonbarv.setAttribute('id','addonbar_v');
tb_addonbarv.setAttribute('customizable','true');
tb_addonbarv.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
tb_addonbarv.setAttribute('mode','icons');
tb_addonbarv.setAttribute('iconsize','small');
tb_addonbarv.setAttribute('toolboxid','navigator-toolbox');
tb_addonbarv.setAttribute('orient','vertical');
tb_addonbarv.setAttribute('flex','1');
tb_addonbarv.setAttribute('context','toolbar-context-menu');
tb_addonbarv.setAttribute('toolbarname', addonbar_v_label);
tb_addonbarv.setAttribute('label', addonbar_v_label);
tb_addonbarv.setAttribute('lockiconsize','true');
tb_addonbarv.setAttribute('defaultset','spring');
toolbox_abv.appendChild(tb_addonbarv);
CustomizableUI.registerArea('addonbar_v', {legacy: true});
setTimeout(function(){
CustomizableUI.registerArea('addonbar_v', {legacy: true});
},2000);
CustomizableUI.registerToolbarNode(tb_addonbarv);
if(addonbar_v_on_the_left) {
document.getElementById('browser').insertBefore(toolbox_abv,document.getElementById('browser').firstChild);
}
else {
document.getElementById('browser').appendChild(toolbox_abv);
}
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
try {
if(document.querySelector('#browser').getAttribute('hidden') || document.querySelector('#main-window').getAttribute('customizing')) {
document.querySelector('#addonbar_v').setAttribute('orient','horizontal');
document.querySelector('#navigator-toolbox').appendChild(document.querySelector('#addonbar_v'));
}
else {
document.querySelector('#addonbar_v').setAttribute('orient','vertical');
document.querySelector('#toolbox_abv').appendChild(document.querySelector('#addonbar_v'));
}
} catch(e){}
});
});
observer.observe(document.querySelector('#main-window'), { attributes: true, attributeFilter: ['customizing'] });
try {
Services.prefs.getDefaultBranch('browser.vaddonbar.').setBoolPref('enabled',true);
setToolbarVisibility(document.getElementById('addonbar_v'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
setToolbarVisibility(document.getElementById('toolbox_abv'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
} catch(e) {}
if(addonbar_v_togglebutton) {
CustomizableUI.createWidget({
id: 'togglebutton_addonbar_v', // button id
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: button_label, // button title
tooltiptext: button_label, // tooltip title
onClick: function(event) {
if(event.button==0) {
var windows = Services.wm.getEnumerator(null);
while (windows.hasMoreElements()) {
var win = windows.getNext();
var vAddonBar = win.document.getElementById('addonbar_v');
setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
var vAddonBarBox = win.document.getElementById('toolbox_abv');
setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
if(!vAddonBar.collapsed)
win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
}
}
},
onCreated: function(button) {
if(Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'))
button.setAttribute('checked','true');
return button;
}
});
}
// Press 'Ctr + Alt + /' on Windows/Linux and 'Cmd + Alt + /' on macOS to toggle vertical add-on bar
var key = document.createXULElement('key');
key.id = 'key_toggleVAddonBar';
key.setAttribute('key', '/');
key.setAttribute('modifiers', 'accel,alt');
key.setAttribute('oncommand',`
var windows = Services.wm.getEnumerator(null);
while (windows.hasMoreElements()) {
var win = windows.getNext();
var vAddonBar = win.document.getElementById('addonbar_v');
setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
var vAddonBarBox = win.document.getElementById('toolbox_abv');
setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
if(!vAddonBar.collapsed)
win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
}
`);
document.getElementById('mainKeyset').appendChild(key);
}
} catch(e) {}
// style toolbar & toggle button
var addonbar_v_style = '';
var togglebutton_addonbar_v_style = '';
if(style_addonbar_v) {
var end_border =`
#addonbar_v {
border-inline-end: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
}
`;
if(!addonbar_v_on_the_left) {
end_border =`
#addonbar_v {
border-inline-start: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
}
`;
}
addonbar_v_style =`
#addonbar_v {
appearance: none !important;
background-color: var(--toolbar-bgcolor);
background-image: var(--toolbar-bgimage);
background-clip: padding-box;
color: var(--toolbar-color, inherit);
}
:root[lwtheme] #addonbar_v {
background: var(--lwt-accent-color) !important;
}
:root[lwtheme][lwtheme-image='true'] #addonbar_v {
background: var(--lwt-header-image) !important;
background-position: 0vw 50vh !important;
}
#main-window:not([customizing]) #toolbox_abv:not([collapsed='true']),
#main-window:not([customizing]) #addonbar_v:not([collapsed='true']) {
min-width: `+addonbar_v_width+`;
width: `+addonbar_v_width+`;
max-width: `+addonbar_v_width+`;
}
#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #toolbox_abv:not([collapsed='true']),
#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #addonbar_v:not([collapsed='true']),
#main-window[sizemode='fullscreen'] #toolbox_abv:not([collapsed='true']),
#main-window[sizemode='fullscreen'] #addonbar_v:not([collapsed='true']) {
min-width: 0px;
width: 0px;
max-width: 0px;
}
#main-window[customizing] #addonbar_v {
outline: 1px dashed !important;
outline-offset: -2px !important;
}
#addonbar_v toolbarbutton,
#addonbar_v toolbar .toolbarbutton-1 {
padding: 0 !important;
}
#unified-extensions-button[hidden]{
visibility: visible !important;
display: flex !important;
}
#addonbar_v toolbaritem separator {
display: none !important;
}
#main-window:not([customizing]) #addonbar_v > toolbaritem {
writing-mode: vertical-rl !important;
text-orientation: mixed !important;
transform: rotate(0deg) !important;
}
#main-window:not([customizing]) #addonbar_v > toolbaritem menupopup{
max-height: 170px !important;
max-width: 170px !important;
transform: rotate(-90deg) !important;
}
#main-window:not([customizing]) #addonbar_v #search-container,
#main-window:not([customizing]) #addonbar_v #wrapper-search-container {
flex: unset !important;
}
#main-window:not([customizing]) #addonbar_v #search-container {
min-width: unset !important;
width: unset !important;
height: 100px !important;
&[width] {
flex: unset !important;
}
}
#main-window:not([customizing]) #addonbar_v #zoom-reset-button > .toolbarbutton-text {
min-width: unset !important;
min-height: unset !important;
}
#main-window:not([customizing]) #addonbar_v #zoom-reset-button:not([label]) {
display: none !important;
}
#main-window:not([customizing]) #addonbar_v .toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-icon {
width: unset !important;
height: 16px !important;
}
`+end_border+`
`;
}
var addonbar_right = '';
if(!addonbar_v_on_the_left) {
addonbar_right =`
#toolbox_abv{
order: 10 !important;
}
`;
}
if(addonbar_v_togglebutton) {
togglebutton_addonbar_v_style =`
#togglebutton_addonbar_v .toolbarbutton-icon { \
list-style-image: url('chrome://browser/skin/sidebars.svg');
fill: yellow;
}
/*#togglebutton_addonbar_v .toolbarbutton-icon {
list-style-image: url('chrome://browser/skin/forward.svg');
fill: red;
}
#togglebutton_addonbar_v[checked] .toolbarbutton-icon {
fill: yellow;
}
#togglebutton_addonbar_v {
background: url('chrome://browser/skin/back.svg') no-repeat;
background-size: 35% !important;
background-position: 10% 70% !important;
}
#togglebutton_addonbar_v[checked] {
transform: rotate(180deg) !important;
background: url('chrome://browser/skin/back.svg') no-repeat;
background-position: 10% 30% !important;
}*/
`;
}
var compact_buttons_code = '';
if(compact_buttons)
compact_buttons_code = `
#addonbar_v toolbarbutton .toolbarbutton-icon {
padding: 0 !important;
width: 16px !important;
height: 16px !important;
}
#addonbar_v .toolbarbutton-badge-stack {
padding: 0 !important;
margin: 0 !important;
width: 16px !important;
min-width: 16px !important;
height: 16px !important;
min-height: 16px !important;
}
#addonbar_v toolbarbutton .toolbarbutton-badge {
margin-top: 0px !important;
font-size: 8px !important;
}
`;
var uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(''+addonbar_v_style + togglebutton_addonbar_v_style + addonbar_right + compact_buttons_code), null, null);
var sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
}
/* initialization delay workaround */
document.addEventListener('DOMContentLoaded', AddonbarVertical.init(), false);
/* Use the below code instead of the one above this line, if issues occur */
/*
setTimeout(function(){
AddonbarVertical.init();
},2000);
*/
Alles anzeigen
Einem einzelnen User zu helfen ist zwar nett, aber einen etwas weiterreichenden Lösungsansatz und Links/Infos bereitzustellen ist noch wertvoller; während der Diskussion und v.a. auch für's Archiv bzw die Suche.
Du theoretisierst. Erstens: Hier hat jeder das Recht, sein Problem gelöst zu bekommen. Ob als Einzelner oder als Gruppe. Was man machen kann ist, deren Beiträge auszulagern, sofern sie nichts mit dem Thema zu tun haben. Und zweitens: Du müsstest eigentlich wissen, dass JavaScript-Kenntnisse auch bei den Helfern dünn gesät sind und die Helfer sich also eine Lösung erst einmal erarbeiten müssen. Wenn du bessere Kenntnisse hast und dich berufener fühlst, dann bringe dich ein, bitte. Das ist besser, als hier nur Forderungen zu stellen. Wo warst du denn, als wir versucht haben, Nutzern beim Skript Firefox_ToolBarButtons.uc.js zu helfen?
Es ging seit Beitrag #451 immer um das Skript Firefox_ToolBarButtons.uc.js, das ist der Beitrag als bei Boersenfeger scheinbar der Code für die Einstellungen im Skript nicht funktionierte
Endor und milupo wusste es jedenfalls sofort.
Nun ja, wir waren ja auf dem Laufenden. Da war es schon einfacher zu folgen.
Habt ihr eine Idee?
Probiere mal:
bzw.
Aber bei mir funktioniert es mit event => ebenfalls.
Leute, ein Chat Stil ohne klare Referenzen und mit Codeschnipseln ohne Zusammenhang, und hier noch nicht mal der ganzen Codezeile erwähnt, damit wird das wieder nur ein verzettelter Monsterthread von dem Keiner viel lernen kann
Seit Beitrag #495 geht es um den Wunsch von mkpcxxl, about:config im jeweiligen aktuellen Fenster zu öffnen und nicht im Ursprungsfenster. Erst zum Schluss ging es um die Seiteninformationen. Beides im Skript Firefox_ToolBarButtons.uc.js.
Danke.
So, bei mir funktioniert diese Änderung sowohl in Fx 134 als auch im Nighty. Das Nightly war etwas störrisch, weil ich about:config hier zweimal habe und dachte, dass der Code vom Sammelskript zum Symbol gehört, das ich in der Sammelskriptleiste habe. Aber ich hatte Symbol von Spezialskript und Sammelskript vertauscht. Als ich auf das Symbol in der normalen Symbolleiste klickte, funktionierte es. Na ja, ich werde wohl about:config im Sammelskript wieder deaktivieren.
Da ist das Problem offenbar gelöst. Fx 134 zeigt bei mir übrigens nur ein Symbol an, das erste für den Neustart. Das sehe ich am japanischen Tooltip.
Jetzt sind sie alle plötzlich im Anpassen-Fenster.
Neu:
event.target.ownerGlobal.openTrustedLinkIn("about:config", "tab");
Wo hast du denn das hergeholt, wenn man fragen darf?
Damit funktioniert es
Die Version, die der TE verlinkt hat, kann doch gar nicht mehr funktionieren.
Ach so, blöder Fx 134. Den verwende ich hier nicht. Da können die Eventhandler noch funktionieren, aber die verlinkte Version oben ist dennoch uralt.
about:config wird dann nicht in dem neuen Fenster geöffnet, sondern in dem anderen
Ah, jetzt verstehe ich. Stimmt. Das kommt aber bestimmt nicht vom Skript, es ist bestimmt auch bei Alice nicht anders gewesen. Ich denke hier wirkt eine Einstellung in about:config. Das Skript sagt nur, dass about:config in einem Tab geöffnet werden soll. Vielleicht wäre browser.link.open_newwindow die entsprechende Einstellung. Standardwert ist da 3.
Ich hätte schon gerne, dass about:config in dem Fenster geöffnet wird, in dem ich den Button drücke.
Das wird doch gemacht. Wenn du über Datei --> Neues Fenster ein neues Fenster öffnest, hast du das Skript mit all seinen Symbolen im neuen Fenster ebenfalls zur Verfügung.
Endor Problem für mich gelöst. Aus meiner Sicht ist deine Skriptversion OK.
Evtl. durch Zufall eine ID doppelt dadurch
Genau das war das Problem. Sammelskript und Spezialskript hatten die gleiche ID. Ich habe in einem die ID geändert und kann nun beide nutzen. Jetzt erscheint eines der Symbole im Anpassen-Fenster.
Zumindest gut, wenn du den Grund gefunden hast.
Na ja, den eigentlichen Grund habe ich noch nicht gefunden, nur die Stelle, wo er sein könnte. Wenn ich den Code gegen den von meinem Spezialskript eintausche, funktioniert der auch nicht. Als Spezialskript funktioniert er aber. ![]()