Beiträge von Boersenfeger
-
-
-
-
In dem Script, das ich nutze, kommt diese Zeile nicht vor
JavaScript
Alles anzeigen// ==UserScript== // @name BackupProfile.uc.js // @namespace BackupProfile.github.com // @description Schaltfläche zum Sichern des Firefoxprofils // @charset UTF-8 // @author ywzhaiqi、defpt // @version v2018.01.10 // @note Vorlage Script von ywzhaiqi (+ Mischung aus diversen Varianten aus dem Fuchsforum 1.11.21) // @note Sicherungsdatei enthaelt auch Profilname // @reviewURL http://bbs.kafan.cn/thread-1758785-1-1.html (function () { Components.utils.import("resource:///modules/CustomizableUI.jsm"); CustomizableUI.createWidget({ id : "Backup-button", defaultArea : CustomizableUI.AREA_NAVBAR, label : "Profilsicherung", tooltiptext : "Sichern der aktuellen Konfiguration", onClick: function(){ // Speicherort - Ordner festlegen - Sichern funktioniert nur wenn Speicherort- bzw. Ordner vorhanden ist!! var path = "G:\\XXXXXX\\Sicherungen\\Firefox\\Firefox Sicherung\\Nightly\\"; // var path = ""; // Ausschlussliste var excludes = 'bookmarkbackups *cache* crashes fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite'; if (!path) { var nsIFilePicker = Ci.nsIFilePicker; var FP = Cc['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker); FP.init(window, 'Sicherungspfad wählen', nsIFilePicker.modeGetFolder); if (FP.show() == nsIFilePicker.returnOK) { path = FP.file.path; } else { return false; } } excludes = excludes.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\s+/g, '|'); excludes = new RegExp(excludes, 'i'); var zw = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter); var pr = {PR_RDONLY: 0x01, PR_WRONLY: 0x02, PR_RDWR: 0x04, PR_CREATE_FILE: 0x08, PR_APPEND: 0x10, PR_TRUNCATE: 0x20, PR_SYNC: 0x40, PR_EXCL: 0x80}; var fu = Cu.import('resource://gre/modules/FileUtils.jsm').FileUtils; var dir = fu.getFile('ProfD', []); let d = new Date(); d = d.getDate() + '.' + (d.getMonth() + 1).toString().padStart(2, '0') + '.' + d.getFullYear().toString().padStart(2, '0') + ' ' + d.getHours().toString().padStart(2, '0') + '\uA789' + d.getMinutes().toString().padStart(2, '0') + '\uA789' + d.getSeconds().toString().padStart(2, '0'); // Die folgende Zeile formt den Archivnamen var archiveName = 'Profil Nightly ' + ' ' + d + '.zip'; /* 'd' ersetzt 'localnow' */ var xpi = fu.File(path + '\\' + archiveName); zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE); var dirArr = [dir]; for (var i=0; i<dirArr.length; i++) { var dirEntries = dirArr[i].directoryEntries; while (dirEntries.hasMoreElements()) { var entry = dirEntries.getNext().QueryInterface(Ci.nsIFile); if (entry.path == xpi.path) { continue; } if (entry.isDirectory()) { dirArr.push(entry); } var relPath = entry.path.replace(dirArr[0].path, ''); if (relPath.match(excludes)) { continue; } var saveInZipAs = relPath.substr(1); saveInZipAs = saveInZipAs.replace(/\\/g,'/'); // Konfigurationsdateien können gesperrt werden try { zw.addEntryFile(saveInZipAs, Ci.nsIZipWriter.COMPRESSION_FASTEST, entry, false); } catch (e) {} } } zw.close(); alert('Die aktuelle Konfiguration wurde als:\n'+ archiveName +'\ngesichert in:\n' + path); function alert(aString, aTitle) { Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService).showAlertNotification("", aTitle, aString, false, "", null); } function bupgetCurrentProfileName(){ function readFile(aFile){ var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); stream.init(aFile, 0x01, 0, 0); var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream); cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); var content = "", data = {}; while (cvstream.readString(4096, data)) { content += data.value; } cvstream.close(); return content.replace(/\r\n?/g, "\n"); } var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile); var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile); ini.append("profiles.ini"); var ini = readFile(ini); var profiles = ini.match(/Name=.+/g); var profilesD = ini.match(/Path=.+/g); for ( var i = 0; i < profiles.length;i++) { if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) { profiles[i].match(/Name=(.+)$/); return RegExp.$1; } } return null; } }, }); var cssStr = '@-moz-document url("chrome://browser/content/browser.xhtml"){' + '#Backup-button .toolbarbutton-icon {' + 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1%2B%2FAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNC8xMS8wOGGVBZQAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAABxklEQVQ4ja2UMUgbURjHfxeSFBzuBEuCkkAgIA5JDdzWohVnQe3UpRDE2UXpKKXdWro4ixlcdNJAydxiyHZkCIKIOEnLpZQSRFFz%2Bjqk73nvuDtb2j883nv%2F73u%2F%2B%2B69ewf%2FWUZgbgEFYDgiPw18B86An8DtQw%2BYdF1XRLVGoyGEEKJara4Bj0MKIhGYDxuGQVSTqtVqH0ql0uzvNzLigCQSicjmeZ7K63Q6u5VKZRoYigXGVWhZlpbbbrfrwKjfS4ZVGKVCoUCz2aTX65FOp6WdA04igf69CsqyLMrlctAWsRXGAf9EavXyFELEZT4A2TwYsLQKF%2BYXAJhb3VPep4%2BLzK3uqd7vS9Xr%2B2qsAW9u4eyoxcZSFoCVLZfTwxaA6v2xjaUsuYmnWrU60IOr%2FmD8etvl%2Fausikl%2FZcsFULEbD02hwPUdl7cvs1qiBAb9eOCdwdjEM2AABdh88wJA%2BbK%2FX6MDtVPmHyRPOfjRPfc87%2FPfgJLJ5AzwRc0BbNseB8a63e6TuKsXpnw%2BP5nJZAzgq%2BM4x3IPzwFM07woFovv%2Bv3%2BUDTiXqlU6tI0zQs%2FI%2FSe2bYt%2FyCPgJFA%2BAdwDeA4zrfg2l%2BwUqCoC1F3YQAAAABJRU5ErkJggg%3D%3D)' + '}}'; var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET); })();
..oder übersehe ich was?
-
Hier ebenso mit aktuellem Nightly
Fehlermeldung
Es ist ein Fehler bei der Verarbeitung aufgetreten, bitte versuche es später erneut.
Exception ID: 79339da5774545e1c1b34b0e805753b2d595343c
-
Das sind 2 verschiedene Systeme und daher nicht vergleichbar
-
-
.. oder eben als Beipack bei AMO...
-
ich schrieb "ggf." !
Wenn die Erweiterung bei AMO heruntergeladen wurde und so einen Dreck mitgebracht hat, wäre es eine Meldung wert...
-
// WEDRO
ggf. in Zukunft Downloadportale wie CHIP etc meiden, beim Anbieter direkt herunterladen und Tipps und Empfehlungen in Computerzeitschriften immer kritisch hinterfragen...
-
Vielen Dank, habe mich mal bedient...
-
... andererseits hat ein jahrelanges Krankheitsmartyrium ein Ende gefunden. Auch ich bin traurig.... nie werde ich ein Konzert mit ihr im Niedersachsenstadion vergessen, das war einfach grandios..
-
// @Feuerwind Einfach mal Spiel unterbrechen, UpDate machen lassen und so lange 3 Stunden um den Block gehen. Lüftet das Hirn und ist gesund
-
Mit leerem Cache neu laden scheint die Wahrscheinlichkeit zu erhöhen, dass es funktioniert, kann aber auch Zufall in meinen Tests gewesen sein.
3 maliges Cachebefreites Neuladen lies die Seite dann erscheinen. Da müssen die wohl mal nachbessern.
Getestet mit aktuellem Nightly
-
Wenn man natürlich den Code ändert und dann deinen Code damit vergleicht, findet man auch nix...
-
Vielen Dank!
-
Passt, wo war der Fehler?
Mit Compare wurde kein Unterschied gefunden...
-
Habe gerade meinen langjährigen Code für die Tabs-Gestaltung geändert:
CSS
Alles anzeigen@-moz-document url(chrome://browser/content/browser.xhtml){ /* Tabs rund und farbig */ /* Angaben für die TAB-Leiste */ /* TAB bei bei angewähltem TAB (aktiv): */ /* Hintergrundfarbe, Rahmen,*/ /* Schriftfarbe. */ .tabbrowser-tab:is([visuallyselected="true"], [multiselected]) > .tab-stack > .tab-background { background: red !important; border-radius: 18px 18px !important; margin-top: 1px !important; border: none !important; color: black ! important; margin-bottom: 0 !important; } /* Schliessen-Button nur wenn angewählt */ tab:not([selected]) .tab-close-button {display: none !important; } /* Schriftgröße Tabs */ .tab-text { font-size: 17px !important; } /* Damit wird der Tabtext am Ende nicht ausgeblendet */ .tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]), .tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-locale-dir(ltr) { direction: ltr; mask-image: linear-gradient(to left, transparent, black 1em) !important; } /* Doppelte Schliessung ausblenden */ #TabsToolbar > .titlebar-buttonbox-container { display:none !important; } .tabbrowser-tab[visuallyselected="true"] .tab-label { font-weight: bold !important; } #TabsToolbar .tabbrowser-tab:not([selected="true"]) { border-radius: 16px 16px !important; height: 20px ! important; margin-top: 2px !important; padding: 0 !important; color: black ! important; } /* Tab-Icon etwas größer, * links weniger, unten etwas mehr Abstand zum TAB-Rand */ #TabsToolbar .tab-icon-image { height: 20px !important; width: 20px !important; margin-left: -5px !important; margin-bottom: 2px !important; } /* Tab-Schließen-Button: * Rechts weniger Abstand zum TAB-Rand, etwas größer, * Textfarbe (Kreuz) * Hintergrundfarbe, an den Eckenradius des Buttons angepasst */ #TabsToolbar .tab-close-button { margin-right: -8px !important; font-weight: bold !important; color: black !important; } #TabsToolbar .tab-close-button .toolbarbutton-icon { height: 20px !important; width: 20px !important; background-color: red !important; border-radius: 12px !important; } /* Aktiver Tab breiter */ .tabbrowser-tab:not([pinned]):not([selected]) { min-width: 200px !important; max-width: 200px !important; } .tabbrowser-tab:not([pinned])[selected] { min-width: 200px !important; max-width: 200px !important; } /* Lautsprechersymbol größer */ .tab-icon-overlay { transform: scale(1.8, 1.8) !important; } image.tab-icon-overlay { margin-top: 3px !important; } /* Lautsprechersymbol violet bei Sound */ .tab-icon-overlay[soundplaying] { fill: blueviolet !important; margin-left: -5px !important; } /* Lautsprechersymbol gelb bei Stumm */ .tab-icon-overlay[muted] { fill: yellow !important; margin-left: -5px !important; } .tabbrowser-tab .tab-content vbox.tab-label-container.proton label[class="tab-icon-sound-label tab-icon-sound-blocked-label"], .tabbrowser-tab .tab-content vbox.tab-label-container.proton label[class="tab-icon-sound-label tab-icon-sound-playing-label"], .tabbrowser-tab .tab-content vbox.tab-label-container.proton label[class="tab-icon-sound-label tab-icon-sound-muted-label"] { display: none !important; } /* Tab Beschriftung mittig */ .tab-content { display: flex !important; margin-top: -10px !important; justify-content: center !important; align-items: center !important; } #TabsToolbar .tabbrowser-tab[selected="true"] .tab-content { margin-top: 2px !important; } .tab-label-container { margin: auto !important; } .tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button { flex-shrink: 0 !important; padding: 0 !important; width: 16px !important; } /* Kein Schatten drum */ #TabsToolbar:not([brighttext]) #tabbrowser-tabs:not([noshadowfortests]) .tabbrowser-tab:is([visuallyselected="true"], [multiselected]) > .tab-stack > .tab-background { box-shadow: none !important; } /* Kein blauer Kasten */ tab.tabbrowser-tab { --focus-outline-width: 0 !important; --focus-outline-color: transparent !important; --focus-outline: var(--focus-outline-width) solid var(--focus-outline-color)!important; } /* Tabs Proton-Design */ :root { --proton-tab-radius: 0 !important; --proton-tab-block-margin: 0 !important; --inline-tab-padding: 10px !important; } #TabsToolbar .toolbarbutton-1 { min-height: 34px !important; margin-top: 2px !important; margin-bottom: 2px !important; } #TabsToolbar .tabbrowser-tab:not([selected="true"]) { min-height: 34px !important; border: 1px solid #B2B2B2 !important; } #TabsToolbar .toolbarbutton-1 > image { padding: 2px 4px !important; } /* Rahmen um die Tableiste durchsichtig */ #TabsToolbar { border: 0.2px solid transparent !important; } #TabsToolbar:hover { border: 0.2px solid transparent !important; } /* Tabs in Tableiste mittig */ scrollbox[smoothscroll="true"] { display: flex !important; justify-content: center !important ; } }
In Zeile 96-97 stand vorher 237px. Nachdem Neustart sieht die Tableiste nach Schließen eines Tabs jetzt so aus:
Wo ist der Haken?
-
Prima, funktioniert jetzt in beiden Browsern. Vielen Dank an alle Beteiligten!
-
Danke! Teste ich dann hier auch mal. Ich bin ja eigentlich nur noch mit Nightly unterwegs.