1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. TEST - camp-firefox.de
  2. omar1979

Beiträge von omar1979

  • Automatischer Screenshot

    • omar1979
    • 15. Juni 2024 um 12:54
    Zitat von geldhuegel

    omar1979 und Endor habt ihr einen anderen base64 Code eingesetzt oder einen direkten Zugriff auf ein gespeichertes Bild.

    also ich hab ein eigenes icon ausgewählt.

    Hier die Code:

    Code
    // ==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/g4mso52s.default-release/chrome/Icons/autoscreen.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;
        }
    })()
    Alles anzeigen

    und hier das Icon von mir:

    und so sieht es aus:

    Bilder

    • autoscreen.png
      • 1,13 kB
      • 32 × 32
    • autoscreen.png
      • 1,13 kB
      • 32 × 32
  • Automatischer Screenshot

    • omar1979
    • 14. Juni 2024 um 22:39
    Zitat von 2002Andreas

    Neuer Eintrag als Zeile 76:

    ist schon erledigt, dankeschön :)

  • Automatischer Screenshot

    • omar1979
    • 14. Juni 2024 um 20:41
    Zitat von Endor

    Habe ich hier auch gemacht. ;)

    Ein Wunder ist geschehen.. ich hab es geändert, und das Icon sieht man sogar :)

    jetzt noch mal testen, ob es das macht was es soll. :)


    also es tut was es soll. :)

    was fehlt, ist, dass wenn man mit der Maus auf dem Icon ist, es keine Tip anzeigt. :)

  • Automatischer Screenshot

    • omar1979
    • 14. Juni 2024 um 20:26
    Zitat von Endor

    Ich habe im Script oben den Chinesischen Text mit Google Translate
    übersetzt daher habe ich das dann raus gefunden. ;)

    ich versuch jetzt ein eigenes Icon zu setzen.. :)

  • Automatischer Screenshot

    • omar1979
    • 14. Juni 2024 um 19:53
    Zitat von Endor

    Ja funktioniert wieder.
    Linksklick speichert den sichtbaren Bereich
    Umschalttaste + Linksklick die ganze Seite.

    ahh.. das mit Shift + Linksklick wusste ich nicht. Danke dir.

    and..

    Thanx jizz

  • Automatischer Screenshot

    • omar1979
    • 14. Juni 2024 um 19:21

    Jup, das Script im Link vom Beitrag

    • #17

    funktioniert. Habe es gerade getestet..

    Hier noch das Screenshot das es gemacht hat.

  • Notepad++ Color Picker funktioniert nicht mehr. Zeigt die Farbe nicht mehr unter den #ff0000 an.

    • omar1979
    • 14. Juni 2024 um 11:09
    Zitat von Zitronella

    Also Haken raus bei Einstellungen → Diverses → Verwende DirectWrite...

    👍

  • Automatischer Screenshot

    • omar1979
    • 13. Juni 2024 um 20:47
    Zitat von Mitleser

    Frage: ScreenVideos sind ja beeindruckend. Ich suche eine Software für Linux.

    licecap weiss aber nicht ob sie auf linux funktioniert.. damit kann man gif-dateien erstellen aber wenn es zu lang wird kann man es bei gewiisen orten nicht hochladen. :)

  • Automatischer Screenshot

    • omar1979
    • 13. Juni 2024 um 20:12
    Zitat von geldhuegel

    PS: Ich denke, Omar meinte nicht die seite, sondern die Site.

    es scrollt bis unten und macht screenshot vom ganzer webseite.. so meinte ich es. :)


    Zitat von 2002Andreas

    WIN + Druck

    ich hab so ne spezielle Tastatur für TV da weiss ich nicht welcher die "Druck"-Taste ist..

  • Automatischer Screenshot

    • omar1979
    • 13. Juni 2024 um 19:52

    Also ich finde das Screenshot vom FF garnicht so schlecht.. man kann damit sogar screenshot von der ganzen seite machen wenn man es will.. macht zwar nicht automatisch mit einem klick, aber man kann sagen es ist auch automatisch :)

  • Notepad++ Color Picker funktioniert nicht mehr. Zeigt die Farbe nicht mehr unter den #ff0000 an.

    • omar1979
    • 13. Juni 2024 um 19:38
    Zitat von Endor

    Hoffen wir, dass der Autor auch reagiert.

    Ja hoffen wir..

  • Notepad++ Color Picker funktioniert nicht mehr. Zeigt die Farbe nicht mehr unter den #ff0000 an.

    • omar1979
    • 13. Juni 2024 um 19:06
    Zitat von Endor

    Mal sehen ob der Autor reagiert.

    Hab hier jetzt noch ein GIF-Datei, hier sieht man, dass wenn man im ColorPicker-Popups das "Enable Color Highlight" deaktiviert und wieder aktiviert, werden die Farben nur kurz angezeigt und dann verschwinden sie wieder.

    Evtl. kannst ja das auch noch dort posten. Wenn du es willst. :)

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 17:39
    Zitat von 2002Andreas

    Ergo kannst du eins davon löschen.

    ja habe das erste script gelöscht, da es dort nich geändert hatte. :)

    aber wozu 2 scripte benützen, die das gleiche tun :)

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 17:28
    Zitat von 2002Andreas

    Löschen erst wenn es funktioniert ;)

    Sieht so aus, dass es funktioniert. :)

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 17:15
    Zitat von 2002Andreas

    Nein, die machen beide das gleiche.

    Dann kann ich ja das Erste doch löschen. :)

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 17:11

    Ich nehme mal das erste Script aus dem Scripte-Ordner raus.. Evtl. macht das 2.te beides?

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 17:09
    Zitat von 2002Andreas

    Wobei die fast identisch sind, vergleich bitte mal den Inhalt von beiden ;)

    und das

    habe mit Compare verglichen.. das scheinen die einzigen undpassenden Zeilen zu sein.. :)

  • chronik.uc.js verhindert Links aus Lesezeichen und Symbolleiste

    • omar1979
    • 13. Juni 2024 um 16:55

    Also ich benütze diese 2 Scripte.. jetzt funktionieren beide..

    Code
    // Neuer Tab bei Klick in der Bibliothek auf einen Link
    
    (function() {
    
    if (location.href !== 'chrome://browser/content/browser.xhtml')
        return;
    
      PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) {
        let window = aEvent.target.ownerGlobal;
        let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow();
        let where = window.whereToOpenLink(aEvent, false, true);
        if (this.loadBookmarksInTabs) {
          if (where == 'current' && !aNode.uri.startsWith('javascript:')) {
            where = 'tab';
          }
          if (where == 'tab' && browserWindow.gBrowser.selectedTab.isEmpty) {
            where = 'current';
          }
        }
        this._openNodeIn(aNode, where, window);
      }
    
      let onPopupshowing = function () {
        let historyMenu = document.getElementById('history-menu');
        if (!historyMenu._placesView) {
          new HistoryMenu(event);
          historyMenu._placesView._onCommand = function HM__onCommand(aEvent) {
            let placesNode = aEvent.target._placesNode;
            if (placesNode) {
              PlacesUIUtils.openNodeWithEvent(placesNode, aEvent);
            };
          };
        };
      };
    
      let historyPopup = document.getElementById('goPopup');
      historyPopup.setAttribute('onpopupshowing', '(' + onPopupshowing.toString() + ')()');
    
    })();
    Alles anzeigen
    Code
    // Neuer Tab bei Klick im Menü Chronik auf einen Link
    // ==UserScript==
    // @name           newtabfromhistory.uc.js
    // @namespace      https://www.camp-firefox.de/forum/viewtopic.php?p=1090093#p1090093
    // @description    Links aus Chronik in neuem Tab öffnen
    // @author         aborix
    // @compatibility  95+
    // @version        0.0.3a
    // ==/UserScript==
    
    (function() {
    
      if (location != 'chrome://browser/content/browser.xhtml')
        return;
    
      PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) {
        let window = aEvent.target.ownerGlobal;
        let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow();
        let where = window.BrowserUtils.whereToOpenLink(aEvent, false, true);
        if (this.loadBookmarksInTabs) {
          if (where == 'current' && !aNode.uri.startsWith('javascript:')) {
            where = 'tab';
          }
          if (where == 'tab' && browserWindow.gBrowser.selectedTab.isEmpty) {
            where = 'current';
          }
        }
        this._openNodeIn(aNode, where, window);
      }
      
      let onPopupshowing = function() {
        let historyMenu = document.getElementById('history-menu');
        if (!historyMenu._placesView) {
          new HistoryMenu(event);
          historyMenu._placesView._onCommand = function HM__onCommand(aEvent) {
            let placesNode = aEvent.target._placesNode;
            if (placesNode) {
              PlacesUIUtils.openNodeWithEvent(placesNode, aEvent);
            };
          };
        };
      };
    
      let historyPopup = document.getElementById('historyMenuPopup');
      historyPopup.setAttribute('onpopupshowing', '(' + onPopupshowing.toString() + ')()');
    
    })();
    Alles anzeigen

    PS: Beim Ersten Zeile 11 und beim Zweiten Zeile 19 abgeändert..

  • 3D Inhalte anzeigen

    • omar1979
    • 13. Juni 2024 um 16:48

    Du solltest vielleicht noch den Link teilen, damit die Anderes es anschauen können. :)

  • Notepad++ Color Picker funktioniert nicht mehr. Zeigt die Farbe nicht mehr unter den #ff0000 an.

    • omar1979
    • 13. Juni 2024 um 15:10
    Zitat von Endor

    Mal sehen ob der Autor reagiert.

          

    Bilder

    • DankeSchön.gif
      • 5,15 kB
      • 50 × 37
    • DankeSchön.gif
      • 5,15 kB
      • 50 × 37

Unterstütze uns!

Jährlich (2025)

0 %

0% (0,00 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon