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

Beiträge von aborix

  • Fokus in Such- statt Adressleiste

    • aborix
    • 30. August 2018 um 21:20

    Hallo,

    teste dieses Skript:

    Code
    (function() {
    
    
      if (location != 'chrome://browser/content/browser.xul')
        return;
    
    
      function doTab(aTab) {
        let browser = aTab.linkedBrowser;
        let title = browser.currentURI.spec;
        if (title == 'about:newtab' || title == 'about:home') {
          browser.messageManager.loadFrameScript(
            'data:, content.focus(); content.document.getElementById("newtab-search-text").focus();',
            true); 
        };
      };
    
      // Startseite
      setTimeout(function() {
        doTab(gBrowser.selectedTab);
      }, 1000);
    
      // neuer Tab
      gBrowser.tabContainer.addEventListener('TabOpen', function(event) {
        setTimeout(function() {
          doTab(event.target);
        }, 500);
      });
    
    
    })();
    Alles anzeigen
  • Toggle Findbar

    • aborix
    • 30. August 2018 um 21:04

    Das funktioniert:

    Code
    (function() {
      if (location == 'chrome://browser/content/browser.xul') {
        document.getElementById('cmd_find').setAttribute('oncommand',
          'if (!gFindBar || gFindBar.hidden) { gLazyFindCommand("onFindCommand") } else { gFindBar.close() }'
        );
      };
    })();
  • Schliessen je Tabs nur bei Aktuellen Tab ?

    • aborix
    • 28. August 2018 um 20:09

    in der userChrome.css:

    Code
    tab:not([selected]) .tab-close-button {display: none}
  • Langer Mausclick auf Link

    • aborix
    • 28. August 2018 um 14:00

    Ja:

    Code
    // ==UserScript==
    // @name                openLinkByLongPress.uc.js
    // @description         Links in einem neuen Tab öffnen dazu linke Maustaste gedrückt halten
    // @include             main
    // @version             0.0.1  Fx58 Kompatibel
    // ==/UserScript==
    (function() {
    	'use strict';
    
    
    	if (location != 'chrome://browser/content/browser.xul') {
    		return;
    	}
    
    
    	const IN_BACKGROUND = true; //  Tab in Hintergrund öffnen
    	const RELATED_TO_CURRENT = true; // Link oder Lesezeichen neben dem aktuellen Tab öffnen?
    	// WAIT = Wartezeit zum Öffnen in einem neuen Tab in Millisekunden
    
    
    	let frameScript = function() {
    		const WAIT = 300;
    
    
    		let timeoutID;
    		let longPress = false;
    
    
    		['mousedown', 'mouseup', 'dragstart'].forEach(function(type) {
    			addEventListener(type, onClick, true);
    		});
    
    
    		function onClick(event) {
    			if (timeoutID) {
    				clearTimeout(timeoutID);
    				timeoutID = null;
    			}
    
    
    			if (event.button !== 0 && event.button !== 2) return;
    			if (event.altKey || event.ctrlKey || event.shiftKey) return;
    
    
    			let node = event.target || event.originalTarget;
    			if (!node) return;
    
    
    			let url = findLink(node);
    			if (!url) return;
    
    
    			if (event.type === 'mousedown') {
    				timeoutID = setTimeout(function() {
    					addEventListener('click', function clk(event) {
    						removeEventListener('click', clk, true);
    						event.preventDefault();
    						event.stopPropagation();
    					}, true);
    					sendAsyncMessage('openLinkByLongPress.uc.js',
    						{href: url.href, eventButton: event.button});
    					longPress = true;
    				}, WAIT);
    			} else {
    				clearTimeout(timeoutID);
    				if (longPress && event.type === 'mouseup') {
    					event.preventDefault();
    					longPress = false;
    				}
    			}
    		}
    
    
    		function findLink(node) {
    			if (!node || !node.tagName) {
    				return null;
    			}
    			switch (node.tagName.toUpperCase()) {
    				case 'A':
    					return node;
    				case 'AREA':
    					if (node.href) {
    						return node;
    					} else {
    						return findLink(node.parentNode);
    					};
    				case 'B':
    				case 'BIG':
    				case 'CODE':
    				case 'DIV':
    				case 'EM':
    				case 'H1':
    				case 'I':
    				case 'IMG':
    				case 'NOBR':
    				case 'P':
    				case 'S':
    				case 'SMALL':
    				case 'SPAN':
    				case 'STRONG':
    				case 'SUB':
    				case 'SUP':
    					return findLink(node.parentNode);
    				default:
    					return null;
    			};
    		}
    	};
    
    
    	let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
    	window.messageManager.loadFrameScript(frameScriptURI, true);
    	window.messageManager.addMessageListener('openLinkByLongPress.uc.js',
    		function(message) {
    			let eventButton = message.data.eventButton;
    			let where;
    			if (eventButton == 0)
    				where = 'current'
    			else if (eventButton == 2)
    				where = 'tab'
    			else return;
    
    
    			openUILinkIn(message.data.href, where, {
    				relatedToCurrent: RELATED_TO_CURRENT,
    				inBackground: IN_BACKGROUND,
    				referrerURI: makeURI(gBrowser.currentURI.spec)
    			});
    
    
    			if (eventButton == 2) {
    				let contextMenu = document.getElementById('contentAreaContextMenu');
    				contextMenu.addEventListener('popupshowing', function(event) {
    					event.preventDefault();
    				}, {once: true});
    			};
    		}
    	);
    
    
    }());
    Alles anzeigen
  • Langer Mausclick auf Link

    • aborix
    • 27. August 2018 um 22:48
    Zitat von TVTomy


    Wie müsste ich es ändern, damit der link im aktiven tab geöffnet wird (statt in einem neuen)?

    Ersetze Zeile 102:

    Code
    gBrowser.loadOneTab(message.data, {

    durch

    Code
    openUILinkIn(message.data, 'current', {
    Zitat von TVTomy


    Wie müsste ich das ändern, dass es für rechtsclick (statt links) gilt?

    Ersetze Zeile 34:

    Code
    if (event.button !== 0) return;

    durch

    Code
    if (event.button !== 2) return;

    und füge nach Zeile 106:

    Code
    });

    diese Zeilen ein:

    Code
    let contextMenu = document.getElementById('contentAreaContextMenu');
    			contextMenu.addEventListener('popupshowing', function(event) {
    				event.preventDefault();
    			}, {once: true});
  • Meldungen über Spam im Forum

    • aborix
    • 26. August 2018 um 07:43

    https://www.camp-firefox.de/forum/memberli…profile&u=99560

    Edit 2002Andreas...User und Beiträge gelöscht.

  • Firefox-Anpassungen: die Basis

    • aborix
    • 25. August 2018 um 22:01

    Eine Kleinigkeit noch: Im Betreff dieses Threads ist das Leerzeichen vor dem Doppelpunkt falsch. :)

  • Link (jeden) immer im neuen Tab öffnen

    • aborix
    • 23. August 2018 um 17:48

    @ clio:

    Meinst du etwas in dieser Richtung:
    Greasemonkey-Script durch userchrome.js-Script ersetzen

  • 62.0b18 sabotiert die Ausführung von Skripten

    • aborix
    • 21. August 2018 um 14:38

    Was mir aufgefallen ist:

    bei Wo müssen die Dateien hin:

    Zitat


    Die Datei config.js und der Ordner userChromeJS.js müssen in den Firefox Installationsordner

    das .js weglassen.

    Sollen die userChrome.css und userContent.css in der zip-Datei dabei sein? Die haben mit den Skripten nichts zu tun. Schauen wir, was Speravir und andere dazu meinen.

  • FF 139.01 Automatisch „In Seite Suchen“ (Strg+F) statt einfacher Schnellsuchleiste

    • aborix
    • 19. August 2018 um 17:31

    Das macht genau das Gewünschte:

    Code
    (function() {
    
    
      if (location != 'chrome://browser/content/browser.xul')
        return;
    
    
      async function doFindbar() {
        await gBrowser.getFindBar();
        eval('gFindBar.open = ' + gFindBar.open.toString()
          .replace('open(aMode) {', '$& aMode = this.FIND_NORMAL;'));
      };
    
    
      doFindbar();
    
    
      gBrowser.tabContainer.addEventListener('TabSelect', function() {
        if (!gFindBarInitialized) {
          doFindbar();
        };
      });
    
    
    })();
    Alles anzeigen
  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 19. August 2018 um 17:05

    Ohne das Skript gelten die Einstellungen nur für Lesezeichen und nicht für Chronik-Einträge.

  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 19. August 2018 um 16:13

    Das Skript lässt sich kurz so beschreiben, vielleicht auch im Readme:

    Die Einstellungen
      browser.tabs.loadBookmarksInTabs
     und
      browser.tabs.loadBookmarksInBackground
     gelten gleichermaßen für Lesezeichen und Chronik-Einträge, egal von wo sie geöffnet werden.

  • 62.0b18 sabotiert die Ausführung von Skripten

    • aborix
    • 18. August 2018 um 20:48
    Zitat von Speravir


    Leute, bitte unbedingt Aborix' Beitrag lesen: Beitrag 5 in Nachhaltigkeit der CSS/Script-Anpassungen... Und die folgenden Antworten ebenfalls.

    Richtig, dort ist alles erklärt.
    Das Setzen von general.config.sandbox_enabled auf false muss in der config-prefs geschehen, so wie es im dortigen Beitrag 5 beschrieben ist. Achtung: Dort steht true, hier brauchen wir jetzt false.

    Zitat von Speravir


    Oder sollte ich etwas missverstanden haben?

    Nein.

  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 15. August 2018 um 21:16
    Zitat von Endor


    Eine Frage, beseht eventuell auch die Möglichkeit, dass es auch in der Menüleiste bei Chronik
    funktioniert?

    Bitte testet:

    Code
    (function() {
    
    
      if (location != 'chrome://browser/content/browser.xul')
        return;
    
    
      eval('PlacesUIUtils.openNodeWithEvent = '  + PlacesUIUtils.openNodeWithEvent.toString()
        .replace('PlacesUtils.nodeIsBookmark(aNode) && ', ''));
    
    
      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
    Zitat von Endor


    Wenn es Dir recht ist, gebe ich es weiter an Mithrandir.

    Ist mir recht.

  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 15. August 2018 um 17:23

    Ach so! :D

    Beim Kopieren ist am Anfang eine Klammer verlorengegangen.
    Jetzt müsste es passen:

    Code
    (function() {
      if (location != 'chrome://browser/content/browser.xul')
        return;
      eval('PlacesUIUtils.openNodeWithEvent = ' + PlacesUIUtils.openNodeWithEvent.toString()
        .replace('PlacesUtils.nodeIsBookmark(aNode) && ', ''));
    })();
  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 15. August 2018 um 17:14

    Das Tablock-Skript braucht man nicht.

    Das Skript verträgt sich wahrscheinlich nicht mit newtabfromhistory.uc.js. Ich kenne das nicht, aber dem Namen nach bewirkt das das Gleiche oder Ähnliches.

  • Links aus Verlauf in neuem Tab öffnen/Tablock-Skript

    • aborix
    • 15. August 2018 um 16:27

    Mit folgendem Skript werden auch Chronik-Einträge aus der Sidebar in neuen Tabs geöffnet. Das Tablock-Skript bleibt unverändert.

    Code
    function() {
      if (location != 'chrome://browser/content/browser.xul')
        return;
      eval('PlacesUIUtils.openNodeWithEvent = ' + PlacesUIUtils.openNodeWithEvent.toString()
        .replace('PlacesUtils.nodeIsBookmark(aNode) && ', ''));
    })();

    Das Skript hat folgende Nebenwirkungen:
    Auch Chronik-Einträge aus der Bibliothek werden in neuen Tabs geöffnet. Bei Einträgen im Chronik-Menü hingegen erfolgt keine Änderung.
    Steht browser.tabs.loadBookmarksInBackground auf true, werden nicht nur alle Lesezeichen, sondern auch die Chronik-Einträge aus der Sidebar und der Bibliothek im Hintergrund geöffnet.

  • Nachhaltigkeit der CSS/Script-Anpassungen...

    • aborix
    • 14. August 2018 um 18:08

    Die Unbranded Builds gibt es als finale und Beta-Version und wären geeignet.

    Unbranded Builds

  • Nachhaltigkeit der CSS/Script-Anpassungen...

    • aborix
    • 14. August 2018 um 16:30

    Mozilla hat beschlossen, ab Fx 62 die Möglichkeiten einer Konfigurationsdatei stark einzuschränken:
    Bug 1455601 - Sandbox AutoConfig to its standard API in Firefox 62

    Aus dem ersten Beitrag:

    Zitat von Mike Kaply


    Since the release of Firefox 57, we are seeing AutoConfig being used by bad actors.

    Meint er uns? Wir gehören doch zu denen mit der weissen Kappe. 8)

    Es steht auch in den Release Notes von Fx 62:

    Zitat


    The release version of Firefox 62 will be sandboxing AutoConfig to the documented API. You can test this in Firefox Beta by setting the preference general.config.sandbox_enabled to true. If you need to continue use more complex AutoConfig scripts, you will need to use Firefox Extended Support Release (ESR).

    Das hat zur Folge, dass unsere Methode, userChromeJS-Skripte über die Konfigurationsdatei auszuführen, nicht mehr funktioniert. Man kann das bereits jetzt in Fx 62 beta und Fx 63 nightly testen, indem man im Installationsordner im Unterordner \defaults\pref in der Datei config-prefs folgende Zeile hinzufügt:

    Code
    pref("general.config.sandbox_enabled", true);

    Was können wir tun?

    Eine Möglichkeit ist Fx 60esr zu verwenden. Wie es bei den kommenden Betas und Nightlys sein wird, weiss ich nicht. Die XBL-Methode mit der userChrome.css hat längerfristig keine Zukunft.

    Ein veränderter Firefox ohne diese Einschränkung wäre eine gute Sache. Es müsste jemamd einen derartigen Firefox zusammenstellen. Wenn man weiss wie, ist das vielleicht wenig Aufwand. Skripte werden weltweit genutzt und vielleicht kann das einer der Benutzer oder findet jemanden dafür.

  • Der Glückwunsch-Thread

    • aborix
    • 13. August 2018 um 14:54

    Alles Gute! :)

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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