Funktioniert hier nicht wirklich, Button ist nach Neustart wieder verschwunden :?
Da kann wahrscheinlich wieder nur aborix helfen wenn er Zeit hat :wink:
Funktioniert hier nicht wirklich, Button ist nach Neustart wieder verschwunden :?
Da kann wahrscheinlich wieder nur aborix helfen wenn er Zeit hat :wink:
Ja leider. Hoffe, aborix lässt uns nicht im Stich.
Mfg.
Endor
Wenn er eine Lösung dafür hat bekommen wir sie auch....er ist ein ganz feiner hilfsbereiter Mensch. :klasse:
andreas hast Du eventuell eine Ahnung, was auf Boersenfegers Bild, Button 4 und 5 von Links für
Scripte sein könnten? Sind mir laut Symbol leider unbekannt.
Mfg.
Endor
Er hat laut seiner Liste 80 Scripte am laufen.
Da ich davon nicht alles Symbole kenne, bzw. er sie evtl. geändert hat, muss ich leider passen.
Danke für die Blumen.
Damit verschiebbare Buttons auch ab Fx 29 funktionieren, ist dieses Codestück:
var toolbars = document.querySelectorAll('toolbar');
Array.slice(toolbars).forEach( function (toolbar) {
var currentset = toolbar.getAttribute('currentset');
if (currentset.split(',').indexOf(button.id) < 0) return;
toolbar.currentSet = currentset;
try {
BrowserToolboxCustomizeDone(true);
} catch (ex) {
}
});
durch dieses zu ersetzen:
var toolbars = Array.slice(document.querySelectorAll('toolbar'));
for (var i=0; i<toolbars.length; i++) {
var currentset = toolbars[i].getAttribute('currentset');
if (currentset.split(',').indexOf(button.id) >= 0) {
var j;
if (i == 0) j = 1
else j = 0;
toolbars[j].currentSet += ','+button.id;
toolbars[i].currentSet = currentset;
};
};
Alles anzeigen
Der geänderte Code funktioniert auch in Fx 28.
Hallo aborix
Habe es so gemacht, aber es funktioniert leider nicht.
Script:
// RestartFirefoxButtonM.uc.js
// v. 0.1.1
(function RestartButton() {
function createBtn() {
var navigator = document.getElementById("navigator-toolbox");
if (!navigator || navigator.palette.id !== "BrowserToolbarPalette") return;
var BrowserManipulateBtn = document.createElement("toolbarbutton");
BrowserManipulateBtn.id = "restart-button";
BrowserManipulateBtn.setAttribute("type", "button");
BrowserManipulateBtn.setAttribute("onclick", "BrowserRestart.onClick(event);");
BrowserManipulateBtn.setAttribute("class", "toolbarbutton-1 chromeclass-toolbar-additional");
BrowserManipulateBtn.setAttribute("removable", "true");
BrowserManipulateBtn.setAttribute("oncontextmenu","return false"); //remove original button context menu
BrowserManipulateBtn.style.listStyleImage = "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')";
BrowserManipulateBtn.setAttribute("label", "Neustart");
var tooltipText = "Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)";
BrowserManipulateBtn.setAttribute("tooltiptext", tooltipText);
navigator.palette.appendChild(BrowserManipulateBtn);
}
BrowserRestart = {
onClick: function(event) {
if (event.button==1 || event.button==2) {
var xRE = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
xRE.invalidateCachesOnRestart();;
}
var boot=Components.classes['@mozilla.org/toolkit/app-startup;1'].getService(Components.interfaces.nsIAppStartup);
boot.quit(Components.interfaces.nsIAppStartup.eForceQuit|Components.interfaces.nsIAppStartup.eRestart);
}
}
function updateToolbar() {
var toolbars = Array.slice(document.querySelectorAll('toolbar'));
for (var i=0; i<toolbars.length; i++) {
var currentset = toolbars[i].getAttribute('currentset');
if (currentset.split(',').indexOf(button.id) >= 0) {
var j;
if (i == 0) j = 1
else j = 0;
toolbars[j].currentSet += ','+button.id;
toolbars[i].currentSet = currentset;
};
};
}
createBtn();
updateToolbar();
})();
Alles anzeigen
Bitte schau Dir das mal an, was habe ich da wieder falsch gemacht.
Vielen Dank für Deine Mühe.
Mfg.
Endor
Du hast nichts falsch gemacht, sondern ich habe etwas vergessen.
Der neue Code, so wie er ist, funktioniert nur bei Skripten nach dem Muster in https://www.camp-firefox.de/forum/viewtopi…=904017#p904017.
Bei anderen Skripten muß man eine Kleinigkeit ändern:
Anstelle von button.id ist in diesen beiden Zeilen direkt die id des Buttons einzutragen:
Zitatif (currentset.split(',').indexOf(button.id) >= 0) {
Zitattoolbars[j].currentSet += ','+button.id;
Die id ist meistens am Anfang des Skriptes festgelegt, beim Restart-Skript ist es hier:
ZitatBrowserManipulateBtn.id = "restart-button";
Das neue Codestück für das Restart-Skript sieht dann also so aus:
var toolbars = Array.slice(document.querySelectorAll('toolbar'));
for (var i=0; i<toolbars.length; i++) {
var currentset = toolbars[i].getAttribute('currentset');
if (currentset.split(',').indexOf('restart-button') >= 0) {
var j;
if (i == 0) j = 1
else j = 0;
toolbars[j].currentSet += ',' + 'restart-button';
toolbars[i].currentSet = currentset;
};
};
Alles anzeigen
Hallo @aborix.....was soll ich sagen außer :klasse:
Ohne dich wären wir aufgeschmissen.....herzlichen Dank dafür.
Button ist verschiebbar und bleibt nach Neustart vorhanden
Andreas und Endor:
Macht bitte mal folgenden Test:
Fx 29, neues Profil, einzige Erweiterung userChromeJS,
ein Skript für einen verschiebbaren Button mit dem neuen Code, keine weiteren Skripte.
Setzt den Button in die Menüleiste rechts neben das Hilfe-Menü und rechts daneben einen der bereits vorhandenen veschiebbaren Buttons:
[Blockierte Grafik: http://www7.pic-upload.de/thumb/24.03.14/u1rhz3fipced.png]
Nun öffnet ein neues Fenster oder startet Fx neu. Bleiben die Buttons an ihren Plätzen?
Hallo @aborix...habe ich mal gemacht.
Habe den Restartbutton gleich mal genommen und einen vorhandenen.
Neues Fenster:
Button vorhanden
Neustart:
Button vorhanden
Auch die Reihenfolge der Button bleibt bestehen. :klasse:
Zitat von aborixBleiben die Buttons an ihren Plätzen?
Ich habe es jetzt mehrmals getestet.
Ich habe 2 Button vom Fx und 2 eigene Button zum verschieben.
Ich schiebe die eigenen direkt neben Hilfe und die anderen dann daneben.
[Blockierte Grafik: http://www7.pic-upload.de/thumb/24.03.14/lyydru85kvmp.png]
Nach Neustart ist es genau umgekehrt dann :-??
[Blockierte Grafik: http://www7.pic-upload.de/thumb/24.03.14/cm5ycx46guxr.png]
Zitat von 2002AndreasNach Neustart ist es genau umgekehrt dann
Bei mir ist das schon mit je einem Button so.
Mit mehreren Buttons gibt es die verrücktesten Änderungen in der Reihenfolge, auch in anderen Leisten.
Bringt man die Buttons wieder in die richtige Reihenfolge, ist sie in einem neuen Fenster oder nach einem Neustart wieder verkehrt.
Kannst du auch das bestätigen?
Es kommen immer erst die original Button vom Fx, und dann die eigenen.
Egal wie man sie verschiebt.
Was aber ganz komisch ist, ich teste ja meistens mit Aurora oder Nightly, und nur in diesem Fall mit der beta.
Hier mal ein Screen von Aurora, wo ich mir schon mehrere verschiebbare Buttons erstellt habe.
[Blockierte Grafik: http://www7.pic-upload.de/thumb/24.03.14/9hbl1ahtq2yd.jpg]
Da verändern sich keine Button nach Neustart wie zu erkennen ist :-??
Der 6te Button ist für Einstellungen, und wird auch durch ein Script erstellt.(Kann ich mir allerdings ersparen und einfach aus dem Anpassenfenster den originalen Button nehmen, war auch nur ein Test von mir)
Bei mir ist es in Beta, Aurora und Nightly gleich.
Ich habe außerdem beobachtet:
Befindet sich links und rechts eines jeden verschiebbaren Skript-Buttons ein original verschiebbarer, dann bleibt die Reihenfolge erhalten.
Magst du das auch noch testen? :wink:
Im Aurora und Nightly bleibt also alles an seinem Platz?
Auch in einem jeweils neuen Profil?
In einem neuen Profil für Aurora habe ich es noch nicht getestet.
Diese Erweiterungen sind in Auroa installiert:
[Blockierte Grafik: http://www7.pic-upload.de/thumb/24.03.14/dyr76mr9fr4f.jpg]
PS:
Bin jetzt mal eine Weile offline...weiteres dann später.
//
Vielleicht sollte der Thread geteilt werden:
in einen für Boersenfegers Problem und einen für verschiebbare Skript-Buttons im Allgemeinen