Erledigt. Danke euch allen.
Beiträge von omar1979
-
-
Nimm das Skript aus Beitrag Nr. 4, und alles ist gut
ja ok.. dann muss ich mit dem das ich habe noch vergleichen, was ich geändert habe danke.
-
Hab ich richtig verstanden? Zeile 18 und 19 kann man löschen?
-
Dieses Script funktioniert nich mehr.
Kann da jemand helfen? Danke.
Code
Alles anzeigen// ==UserScript== // @name AutoSaveScreenshot.uc.js // @description 一键保存截图,左键单击保存可见范围,Shift+左键保存整个页面 // @namespace https://github.com/benzBrake/FirefoxCustomize // @author Ryan, aborix // @include main // @license MIT License // @compatibility Firefox 127 // @homepageURL https://github.com/benzBrake/FirefoxCustomize/tree/master/userChromeJS // @downloadURL https://github.com/benzBrake/FirefoxCustomize/raw/master/AutoSaveScreenshot.uc.js // Link zu diesem Script: https://github.com/benzBrake/FirefoxCustomize/blob/master/userChromeJS/AutoSaveScreenshot.uc.js // @version 0.0.3 // @note 0.0.3 修复总是在第一个窗口截图的问题 // @note 0.0.2 修复在 127 版本的兼容问题 // ==/UserScript== (async function () { const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; const CustomizableUI = globalThis.CustomizableUI || ChromeUtils.import("resource:///modules/CustomizableUI.jsm").CustomizableUI; document.addEventListener('DOMContentLoaded', async (e) => { const { location } = e.target; if (location.href.startsWith("chrome://browser/content/screenshots/screenshots-preview.html?")) { let preview_area = await new Promise(resolve => { let count = 0; let timer = setInterval(() => { let area = e.target.documentElement.querySelector("screenshots-preview"); count++; if (area) { clearInterval(timer); resolve(area); } if (count > 300) { clearInterval(timer); reject(null); } }, 10); }); if (preview_area) { let download_btn = await new Promise(resolve => { let count = 0; let timer = setInterval(() => { let btn = preview_area.shadowRoot.querySelector("#download"); count++; if (btn) { clearInterval(timer); resolve(btn); } if (count > 300) { clearInterval(timer); reject(null); } }, 10); }); download_btn.click(); } } }) window.AutoSaveScreenshot = { BTN_ID: "AutoSaveScreenshot-button", init() { if (!(CustomizableUI.getWidget(this.BTN_ID) && CustomizableUI.getWidget(this.BTN_ID).forWindow(window)?.node)) { CustomizableUI.createWidget({ id: this.BTN_ID, removable: true, defaultArea: CustomizableUI.AREA_NAVBAR, type: "custom", onBuild: doc => this.createButton(doc) }); } }, createButton(doc) { let btn = createElement(doc, 'toolbarbutton', { id: this.BTN_ID, label: "AutoSaveScreenshot", tooltiptext: "Screenshots\nLinks-klick: Sichtbarer Bereich\nShift + Links-klick: Ganze Seite", 'data-l10n-id': 'auto-save-screenshot', class: 'toolbarbutton-1 chromeclass-toolbar-additional', style: 'list-style-image: url(file:///C:/Users/Ramo/AppData/Roaming/Mozilla/Firefox/Profiles/c612nnc8.default-release/chrome/Icons/autosave1.png)', }); btn.addEventListener('click', this, false); return btn; }, handleEvent(event) { if (event.button === 0) { this.takeScreenshot(event.target.ownerDocument, event.shiftKey); } }, async takeScreenshot(doc, isFullPage) { doc.getElementById('key_screenshot').doCommand(); let btn = await this.getScreenSortButton(doc, isFullPage); btn.click(); }, async getScreenSortButton(doc, isFullPage) { let screenshotsPagePanel = await new Promise(resolve => { let interval = setInterval(() => { let screenshotsPagePanel = doc.getElementById("screenshotsPagePanel"); if (screenshotsPagePanel) { clearInterval(interval); resolve(screenshotsPagePanel); } }, 10); }); return screenshotsPagePanel.querySelector("screenshots-buttons").shadowRoot.querySelector(isFullPage ? "#full-page" : "#visible-page"); } } window.AutoSaveScreenshot.init(); /** * 创建 DOM 元素 = DOM-Elemente erstellen * * @param {Document} d HTML 文档 = HTML-Dokument * @param {string} t DOM 元素标签 = DOM-Element-Tag * @param {Object} o DOM 元素属性键值对 = DOM-Elementattribut-Schlüssel-Wert-Paar * @returns */ function createElement(d, t, o = {}) { if (!d) return; let e = /^html:/.test(t) ? d.createElement(t) : d.createXULElement(t); for (let [k, v] of Object.entries(o)) { e.setAttribute(k, v); } return e; } })()
-
-
Sichere Dir lieber den kompletten Profilordner, auch wenn da viel unnützes Zeug dabei mit gesichert wird,
aber es macht das Wiedererstellen des Profilordners einfach simpler!Jedoch muss der gesicherte Profilordner immer zu Version des Firefox passen.
das macht ja auch das Backup-Script es speichert den nötigen Inhalt des Profilordners.
so wie ich bemerkt habe, speichert es alles was nötig ist.
-
-
-
so.. nach austauschen von main.js und config.js funkt alles wie früher..
aber ist schon komisch, dass es bis ff-version 130.0.1 oder so mit den alten alles funktioniert hat.
nun hab ich noch eine Frage zu dem Restartbutton-Script..
Heisst das: mit Links-Klick wird nur der FF neugestartet (Cache wird dabei nich geleert)?
und
mit Rechts-Klick oder Mittel-Klick (Rad-Klick) wird auch Cache geleert?
-
Dann ist es nur 1 Problem, dass der Grund ist, warum alle Scripte nicht funktionieren..
habe jetzt die anpassungs-dateien verglichen und sieht so aus..
alles gleich..
das werd ich mit dem alten mal später austauschen..
das werd ich so lassen, da ich im alten ja das mit *scripte* hinzugefügt habe..
das werd ich auch mit dem alten austauschen..
da hat sich auch nichts geändert..
Aber ich finde es komisch, dass die alten Anpassungen noch mit FF-version 130.0 funktionierten.
-
-
Das sind all meine Scripte und der Markierte ist für FF restarten mit cache leeren..
und das ist der Inhalt des Scripts.
JavaScript
Alles anzeigen// RestartFirefox_plus.uc.js 2 (function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'restart-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: 'restart-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: false, label: 'Neustart', tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)', style: 'list-style-image: url(file:///C:/Users/Ramo/AppData/Roaming/Mozilla/Firefox/Profiles/c612nnc8.default-release/chrome/Icons/restartButton.png)', onclick: '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); \ };' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); CustomizableUI.registerToolbarNode(tb); } catch(e) { }; var menuitem = document.createXULElement('menuitem'); var props = { id: 'restartfirefox-fileMenu2', label: 'Neustart', tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)', onclick: '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); \ };' }; for (var p in props) menuitem.setAttribute(p, props[p]); document.getElementById('menu_FilePopup').insertBefore(menuitem, document.getElementById('menu_FileQuitItem')); (function() { var menuitem = document.createXULElement('toolbarbutton'); menuitem.id = 'uc_menu_Restart_H'; menuitem.classList.add('subviewbutton', 'subviewbutton-iconic'); menuitem.setAttribute('label' , 'Neustart'); menuitem.setAttribute('tooltiptext' , 'Neustart'); menuitem.style.listStyleImage= 'url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" fill-opacity="context-fill-opacity" d="M15,1a1,1,0,0,0-1,1V4.418A6.995,6.995,0,1,0,8,15a6.954,6.954,0,0,0,4.95-2.05,1,1,0,0,0-1.414-1.414A5.019,5.019,0,1,1,12.549,6H10a1,1,0,0,0,0,2h5a1,1,0,0,0,1-1V2A1,1,0,0,0,15,1Z"/></svg>\')'; menuitem.setAttribute('oncommand' , "Services.appinfo.invalidateCachesOnRestart() || Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);"); var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button2'); refItem.parentNode.insertBefore(menuitem, refItem); })(); })();
-
Haben denn deine Skripte im alten Profil funktioniert, bevor du gewechselt hast? Es gibt immer wieder mal Änderungen, einerseits in den Skripten selbst andererseits auch in den Dateien, die für die Vorbereitung erforderlich sind.
so wie ich mich erinnere, haben die meisten Scripte funktioniert ja.
Sieht alles richtig aus
Hattest du die .zip Datein neu runtergeladen, oder hattest du die noch auf deinem PC?
Es gab ja mal vor längerer Zeit eine Änderung:
die hatte ich noch auf meinem PC ja. Gab es auch änderungen NACH Version 130.0?
Weil im Version 130.0 hat alles noch geklappt.
-
-
-
-
-
In den Profilordner\chrome gehört die Datei: userChrome.js
Hast du dich hier nur verschrieben oder heißen die Profile bei dir wirklich so? Hier ist nämlich zweimal der gleiche Buchstabendreher drin. Es muss heißen: release und nicht relaese.
verschrieben.
hatte backup mit dem backup-script gemacht.. und es macht nur vom inhalt vom profilordner alles was sich in dem ordner des profiles samt chrome-ordner ein backup.
-
Hallo allen..
Nach Windows zurücksetzen, funktionieren meine Scripte nicht mehr.
Ich habe den alten Inhalt von Profil.default.relaese ins neue xxx.default.relaese kopiert.
habe in allen Pfaden wo der alte profil xxx name war abgeändert ins neue.
die css-dateien funktionieren einwandfrei..
Nur die Scripte werden nicht geladen. Habe auch mit fehlerbehebungsmodus gemacht.. kein erfolg..
die config.js und der ordner userchrome.js sind im installationordner..
config-prefs.js ist im installationordner/defaults/prefs
woran kann es liegen?
-
Auch die Fussball-Fans in der Türkei speziell die von Fenerbahce werden dich immer in Erinnerung haben Christoph Daum. R.I.P