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

  • Lesezeichenleist wie Startleist von Opera?

    • aborix
    • 13. Dezember 2019 um 23:23

    Bitte teste:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      var bmToolbar = document.getElementById('PersonalToolbar');
      var urlbarInput = document.getElementById('urlbar-input');
     
      function showTb() {
        CustomizableUI.setToolbarVisibility('PersonalToolbar', true);
      };
      function hideTb() {
        if (!bmToolbar.collapsed) {
          CustomizableUI.setToolbarVisibility('PersonalToolbar', false);
        };
      };
    
      hideTb();
     
      urlbarInput.addEventListener('keydown', function(event) {
        if (event.keyCode == 13) {  // Enter-Taste
          hideTb();
        };
      });
    
      window.addEventListener('click', function(event) { 
        if (event.button == 0) {   
          if (event.target == urlbarInput) {           
            showTb();
          } else {
            hideTb();
          };
        } else if (event.button == 1) {
          hideTb();
        };
      }, true);
    
    })();
    Alles anzeigen
  • Diverse Anpassungen für Firefox gesucht/-wünscht

    • aborix
    • 12. Dezember 2019 um 21:19

    Noch ein Skript zum Duplizieren, es macht auch bei der Strg- und Umschalttaste das Gewünschte:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      function getTab(node) {
        while (node.localName != 'tab' && node != gBrowser.tabContainer) {
          node = node.parentNode;
        };
        return node.localName == 'tab' ? node : null;
      };
    
      gBrowser.tabContainer.addEventListener('dblclick', function(event) {
        if (event.button != 0)
          return;
        let tab = getTab(event.target);
        if (!tab)
          return;
        if (event.ctrlKey) {
          duplicateTabIn(tab, 'window');
        } else if (event.shiftKey) {
          duplicateTabIn(tab, 'tabshifted');
        } else {
          duplicateTabIn(tab, 'tab');
        };
      });
    
    })();
    Alles anzeigen
  • 2019-Update: Großer camp-firefox.de Relaunch

    • aborix
    • 8. Dezember 2019 um 07:05

    Wenn man einem Mitglied folgt, was bewirkt das? Bei mir anscheinend nichts.

  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 7. Dezember 2019 um 19:20

    Gut so. :)

    Zitat von Boersenfeger

    Geht das Ganze auch in der Sidebar?

    Weiß ich noch nicht. Die Lesezeichen in der Sidebar sind anders aufgebaut als die in der Leiste.

  • TabWheelScroll - FF 71

    • aborix
    • 7. Dezember 2019 um 03:21

    Dieses Thema wird auch hier diskutiert:

    http://forums.mozillazine.org/viewtopic.php?f=38&t=3057202

  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 7. Dezember 2019 um 03:02

    Testet mal, bitte:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      let itemToClose = null;
      let timeoutEnter, timeoutLeave;
      let placesContext = document.getElementById('placesContext');
    
      placesContext.addEventListener('popuphidden', function() {
        if (itemToClose) {
          itemToClose.open = false;
          itemToClose = null;
        };
      });
    
      function onMouseenter(event) {
        clearTimeout(timeoutLeave);
        timeoutEnter = setTimeout(function() {
          itemToClose = null;
          if (placesContext._view && !placesContext._view._openedMenuButton) {
            placesContext.hidePopup();
          };
          event.target.open = true;
        }, 100);
      };
    
      function onMouseleave(event) {
        clearTimeout(timeoutEnter);
        timeoutLeave = setTimeout(function() {
          if (placesContext.state == 'closed') {
            event.target.open = false;
            itemToClose = null;
          } else {
            itemToClose = event.target;
          };
        }, 100);
      };
    
      function addListeners() {
        let items = document.querySelectorAll('#PlacesToolbarItems > toolbarbutton[type="menu"]');
        for (let item of items) {
          item.addEventListener('mouseenter', onMouseenter);
          item.addEventListener('mouseleave', onMouseleave);
        };
      };
    
      setTimeout(addListeners, 500);
    
      window.addEventListener('aftercustomization', function() {
        setTimeout(addListeners, 100);
      });
    
    })();
    Alles anzeigen
  • TabWheelScroll - FF 71

    • aborix
    • 6. Dezember 2019 um 15:13

    pro100user:

    Teste diesen Code in der TabWheelScroll_bindings.css:

    CSS
    .tabbrowser-arrowscrollbox {
        /* Place bindings.xml in the same folder as userChrome.css */
        -moz-binding: url("TabWheelScroll_bindings.xml#tabs-scroll") !important;
    }
  • Autopopup funktioniert in Nightly 72.0a1 nicht mehr

    • aborix
    • 22. November 2019 um 21:09

    Hier ist eine neue Version, die weitgehend funktioniert. Beim Mouseout funktioniert das Schließen der Popups der Toolbar-Buttons manchmal nicht. Beim Lesezeichenmenü-Button klappt auch das Öffnen nicht zuverlässig.

    JavaScript
    // ==UserScript==
    // @name           AutoPopup.uc.js
    // @description    Auto popup menulist/menupopup
    // @compatibility  Firefox 72
    // @author         GOLF-AT, modified by gsf & aborix
    // @version        2019.11.22
    // ==UserScript==
    
    (function() {
    
        const showDelay = 200;   // delay of showing popups
        const hideDelay = 500;   // delay of hiding popups
        const alwaysPop = false; // show popups also when window is not focused
    
        var overElt = null;
        var PopElt = null;
        var PopTimer = null;
        var HideTimer = null;
    
        // elements are CSS selector strings
        var blackIDs = [];
    
        // whitelist, and trigger action
        var whiteIDs = [
        {
            id: 'omnibar-defaultEngine',
            popMemu: 'omnibar-engine-menu',
            run: function(overElem) {
                document.getElementById('omnibar-in-urlbar').click(0);
            }
        },
        {
            id: 'ucjs_zoom_statuslabel',
            popMemu: 'ucjs_zoom-context',
            run: null
        },
        {
            id: 'UserScriptLoader-icon',
            popMemu: 'UserScriptLoader-popup',
            run: null
        },
        {
            id: 'readLater',
            popMemu: 'readLater-popup',
            run: null
            //function(overElem) {PopElt.popup();}
        },
        {
            id: 'foxyproxy-toolbar-icon',
            popMemu: 'foxyproxy-toolbarbutton-popup',
            run: null
        }
        ];
        var whitesInx = -1;
    
        const popupPos = ['after_start', 'end_before', 'before_start', 'start_before'];
        const searchBar = window.BrowserSearch ? BrowserSearch.searchBar : null;
    
        function IsButton(elt) {
            return elt && (elt.localName == 'toolbarbutton' || elt.localName == 'button');
        }
    
        function IsWidgetBtn(elt) {
            return IsButton(elt) &&
                   ((elt.hasAttribute('widget-id') && elt.getAttribute('widget-type') == 'view')
                    || elt.id == 'fxa-toolbar-menu-button' || elt.id == 'library-button'
                    || elt.id == 'alltabs-button');
        }
    
        function IsSearchBtn(elt) {
            return (elt && elt.className == 'searchbar-search-button') || whitesInx == 0;
        }
    
        function IsPanelMenuBtn(elt) {
            return elt && elt.id == 'PanelUI-menu-button';
        }
    
        function IsDownloadBtn(elt) {
            return elt && elt.id == 'downloads-button';
        }
    
        function IsMenuBtn(elt) {
            return IsPanelMenuBtn(elt) || IsDownloadBtn(elt) || IsWidgetBtn(elt)
                   || (IsButton(elt) && getPopupMenu(elt));
        }
    
        function IsOverflowBtn(elt) {
            return elt && elt.id == 'nav-bar-overflow-button';
        }
    
        function IsUrlbarDropmarker(elt) {
            return elt && elt.classList && elt.classList.contains('urlbar-history-dropmarker');
        }
    
        function IsCustomizationBtn(elt) {
            return IsButton(elt) && elt.className == 'customizationmode-button';
        }
    
        function IsAutoComplete(elt) {
            try {
                return elt.getAttribute('type').substring(0, 12) == 'autocomplete';
            } catch(e) {
                return false;
            }
        }
    
        function isBlackNode(elt) {
            return blackIDs.some(function(css) {
                try {
                    var nodes = document.querySelectorAll(css);
                } catch(e) {
                    return false;
                }
                for (var node of nodes) {
                    if (node == elt)
                        return true;
                }
                return false;
            })
        }
    
        function getPopupNode(node) {
            if (whitesInx > -1 && PopElt)
                return PopElt;
    
            if (IsSearchBtn(node) || IsOverflowBtn(node) || node.id == 'sidebar-switcher-target')
                return node;
    
            var elt, isPop, s;
    
            for (; node != null; node = node.parentNode) {
                if (node == PopElt)
                    return node;
    
                isPop = false; // node isn't popup node
                s = node.localName;
                if (s == 'menupopup' || s == 'popup' || s == 'menulist'
                    || IsAutoComplete(node) || IsMenuBtn(node) || IsUrlbarDropmarker(node)) {
                    isPop = true;
                } else if (s == 'dropmarker' && node.getAttribute('type') == 'menu'
                           && node.parentNode.firstChild.localName == 'menupopup') {
                    isPop = true;
                } else if (s == 'menu') {
                    isPop = (node.parentNode.localName == 'menubar');
                } else if (IsButton(node)) {
                    for (elt = node; (elt = elt.nextSibling) != null;) {
                        if (elt.localName == 'dropmarker' && elt.width > 0 && elt.height > 0)
                            break;
                    }
                    if (elt)
                        break;
                }
                if (isPop)
                    break;
            }
            if (PopElt && node) {
                // whether node is child of PopElt
                for (elt = node.parentNode; elt != null; elt = elt.parentNode) {
                    if (elt == PopElt)
                        return PopElt;
                }
            }
            return isPop ? node : null;
        }
    
        function getPopupMenu(elt) {
            if (whitesInx > -1 && PopElt)
                return PopElt;
    
            var nodes = elt ? elt.childNodes : null;
            if (nodes) {
                for (let node of nodes) {
                    if (node.localName == 'menupopup' || node.localName == 'panel')
                        return node;
                }
            }
    
            var s = elt.getAttribute('popup');
            return s ? document.getElementById(s) : null;
        }
    
        function getPopupPos(elt) {
            if (elt.id == 'bookmarks-menu-button')
                return null;
    
            var x, y, pos, i;
            for (pos = 0, x = elt.screenX, y = elt.screenY;
                 elt != null; elt = elt.parentNode)
            {
                if (elt.localName == 'window' || !elt.parentNode)
                    break;
                else if (elt.localName != 'toolbar' && elt.localName != 'hbox'
                         && elt.localName != 'vbox');
                else if (elt.height >= 3 * elt.width) {
                    if (elt.height >= 45) {
                        pos = 9;
                        break;
                    }
                } else if (elt.width >= 3 * elt.height) {
                    if (elt.width >= 45) {
                        pos = 8;
                        break;
                    }
                }
            }
            try {
                i = (pos & 1) ?   // is pos odd?
                    (x <= elt.width / 2 + elt.screenX ? 1 : 3) :
                    (y <= elt.height / 2 + elt.screenY ? 0 : 2);
            } catch(e) {
                i = 0;
            }
            return popupPos[i];
        }
    
        function AutoPopup() {
            PopTimer = null;
            if (!overElt)
                return;
    
            if (whitesInx > -1 && PopElt && whiteIDs[whitesInx].run) {
                whiteIDs[whitesInx].run(overElt);
                return;
            }
            if (!PopElt)
                PopElt = overElt;
            if (overElt.localName == 'dropmarker') {
                PopElt.showPopup();
            } else if (overElt.localName == 'menulist') {
                overElt.open = true;
            } else if (IsPanelMenuBtn(overElt)) {
                PopElt = document.getElementById('appMenu-popup');
                PanelUI.show();
            } else if (IsWidgetBtn(overElt)) {
                PopElt = document.getElementById('customizationui-widget-panel');
                if (overElt.hasAttribute('onmousedown'))
                    overElt.dispatchEvent(new MouseEvent('mousedown'));
                else
                    overElt.dispatchEvent(new UIEvent('command'));
            } else if (IsDownloadBtn(overElt)) {
                PopElt = document.getElementById('downloadsPanel');
                DownloadsPanel.showPanel();
            } else if (IsSearchBtn(overElt)) {
                searchBar.openSuggestionsPanel();
            } else if (IsOverflowBtn(overElt)) {
                PopElt = document.getElementById('widget-overflow');
                if (!overElt.open)
                    overElt.click();
            } else if (overElt.id == 'sidebar-switcher-target') {
                PopElt = document.getElementById('sidebarMenu-popup');
                if (!overElt.classList.contains('active'))
                    SidebarUI.toggleSwitcherPanel();
            } else if (IsUrlbarDropmarker(overElt)) {
                PopElt = gURLBar.panel;
                if (!gURLBar.textbox.hasAttribute('open'))
                    overElt.click();
            } else {
                PopElt = getPopupMenu(overElt);
                if (IsCustomizationBtn(overElt))
                    overElt.open = true;
                else {
                    try {
                        let Pos = getPopupPos(overElt);
                        PopElt.removeAttribute('hidden');
                        PopElt.openPopup(overElt, Pos, 0, 0, false, false, null);
                    } catch(e) {
                        PopElt = null;
                    }
                }
            }
        }
    
        function HidePopup() {
            try {
                if (overElt.localName == 'dropmarker') {
                    try {
                        PopElt.parentNode.closePopup();
                    } catch(e) {
                        try {
                            PopElt.hidePopup();
                        } catch(e) { }
                    }
                } else if (overElt.localName == 'menulist')
                    PopElt.open = false;
                else if (PopElt.hidePopup)
                    PopElt.hidePopup();
                else if (PopElt.popupBoxObject)
                    PopElt.popupBoxObject.hidePopup();
                else if (IsSearchBtn(overElt))
                    searchBar.textbox.closePopup();
                else if (IsPanelMenuBtn(overElt))
                    PanelUI.hide();
                else if (IsUrlbarDropmarker(overElt))
                    if (gURLBar.textbox.hasAttribute('open'))
                        overElt.click();
            } catch(e) { }
    
            HideTimer = null;
            overElt = PopElt = null;
        }
    
        function MouseOver(e) {
            if (!alwaysPop && !document.hasFocus())
                return;
            var popNode, n = e.originalTarget;
    
            whitesInx = -1;
            if (n.hasAttribute('id') && whiteIDs.some(function(k,i,me) {
                if (k.id == n.id) {
                    overElt = n;
                    whitesInx = i;
                    PopElt = document.getElementById(k.popMemu);
                    PopTimer = setTimeout(AutoPopup, showDelay);
                    return true;
                }
            }))
                return;
    
            popNode = getPopupNode(e.originalTarget);
            if (!popNode || (popNode && popNode.disabled) || isBlackNode(popNode)) {
                MouseOut();
                return;
            }
            if (HideTimer) {
                clearTimeout(HideTimer);
                HideTimer = null;
            }
            try {
                if (IsAutoComplete(popNode)) {
                    return;
                };
                for (var elt = popNode; elt != null; elt = elt.parentNode) {
                    if (elt.localName == 'menupopup' || elt.localName == 'popup')
                        return;
                }
            } catch(e) { }
            if (PopElt && popNode == PopElt && PopElt != overElt)
                return;
            if (overElt && popNode != overElt)
                HidePopup();
            overElt = popNode;
            PopElt = null;
            PopTimer = setTimeout(AutoPopup, showDelay);
        }
    
        function MouseOut() {
            if (PopTimer) {
                clearTimeout(PopTimer);
                PopTimer = null;
            }
            if (!HideTimer && PopElt)
                HideTimer = setTimeout(HidePopup, hideDelay);
        }
    
        window.addEventListener('mouseover', MouseOver, false);
    
    })();
    Alles anzeigen
  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 21. November 2019 um 21:32

    Wie ist es damit:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      let itemToClose = null;
      let timeoutEnter, timeoutLeave;
      let placesContext = document.getElementById('placesContext');
    
      placesContext.addEventListener('popuphidden', function() {
        if (itemToClose) {
          itemToClose.open = false;
          itemToClose = null;
        };
      });
    
      function onEnter(item) {
        clearTimeout(timeoutLeave);
        timeoutEnter = setTimeout(function() {
          itemToClose = null;
          if (placesContext._view && !placesContext._view._openedMenuButton) {
            placesContext.hidePopup();
          };
          item.open = true;
        }, 100);
      };
    
      function onLeave(item) {
        clearTimeout(timeoutEnter);
        timeoutLeave = setTimeout(function() {
          if (placesContext.state == 'closed') {
            item.open = false;
            itemToClose = null;
          } else {
            itemToClose = item;
          };
        }, 100);
      };
    
      setTimeout(function() {
        let items = document.querySelectorAll('#PlacesToolbarItems > toolbarbutton[type="menu"]');
        for (let item of items) {
          item.addEventListener('mouseenter', function() {
            onEnter(item);
          });
          item.addEventListener('mouseleave', function() {
            onLeave(item);
          });
        };
      }, 300);
    
    })();
    Alles anzeigen
  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 21. November 2019 um 12:22

    Bitte testet mal:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      let itemToClose = null;
      let timeoutEnter, timeoutLeave;
      let placesContext = document.getElementById('placesContext');
    
      placesContext.addEventListener('popuphidden', function() {
        if (itemToClose) {
          itemToClose.open = false;
          itemToClose = null;
        };
      });
    
      function onEnter(item) {
        clearTimeout(timeoutLeave);
        timeoutEnter = setTimeout(function() {
          itemToClose = null;
          placesContext.hidePopup();
          item.open = true;
        }, 100);
      };
    
      function onLeave(item) {
        clearTimeout(timeoutEnter);
        timeoutLeave = setTimeout(function() {
          if (placesContext.state == 'closed') {
            item.open = false;
            itemToClose = null;
          } else {
            itemToClose = item;
          };
        }, 100);
      };
    
      setTimeout(function() {
        let items = document.querySelectorAll('#PlacesToolbarItems > toolbarbutton[type="menu"]');
        for (let item of items) {
          item.addEventListener('mouseenter', function() {
            onEnter(item);
          });
          item.addEventListener('mouseleave', function() {
            onLeave(item);
          });
        };
      }, 300);
    
    })();
    Alles anzeigen
  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 21. November 2019 um 08:50

    Nach dem Start dauert es etwas, bis die Elemente der Lesezeichenleiste vorhanden sind. Erhöhe den Timeout-Wert in Zeile 30. Bei mir genügt 300:

    JavaScript
      }, 300);
  • Lesezeichenordner ohne klicken öffnen

    • aborix
    • 20. November 2019 um 23:26
    Zitat von BrokenHeart
    Zitat von hwww

    Gibt es vielleicht die Möglichkeit das wenn man mit der Maus vom Lesezeichen weg geht sich das Fenster von selbst wieder schließt.

    Ich bin mir ziemlich sicher, dass es diese Möglichkeit gibt. Dafür müsste man dann noch einen 'EventListener' für 'mouseout' im Menupopup hinzufügen.

    Hab ich mir auch gedacht, das wird dann aber ähnlich kompliziert wie im Autopopup-Skript. Mit 'mouseenter' und 'mouseleave' geht es aber relativ einfach:

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      setTimeout(function() {
    
        let items = document.querySelectorAll('#PlacesToolbarItems > toolbarbutton[type="menu"]');
    
        for (let item of items) {
    
          let timEnter, timLeave;
    
          item.addEventListener('mouseenter', function() {
            clearTimeout(timLeave);
            timEnter = setTimeout(function() {
              item.open = true;
            }, 100);
          });
    
          item.addEventListener('mouseleave', function() {
            clearTimeout(timEnter);
            timLeave = setTimeout(function() {
              item.open = false;
            }, 100);
          });
    
        };
    
      }, 100);
    
    })();
    Alles anzeigen


    MDN - Mouse Events

  • Script Addons-Update-Check Button arbeitet im Nightly nicht mehr

    • aborix
    • 19. November 2019 um 19:46

    Gern geschehen. Die Hilfe von Sören Hentzschel hat mir einige Arbeit erspart. :)

  • Script Addons-Update-Check Button arbeitet im Nightly nicht mehr

    • aborix
    • 18. November 2019 um 23:00

    Bitte testet:

    JavaScript
    (function() {
    
      if (window.__SSi != 'window0')
        return;
    
      CustomizableUI.createWidget({
        id: 'addons-update-button',
        defaultArea: CustomizableUI.AREA_NAVBAR,
        label: 'Add-ons Update',
        tooltiptext: '',
        onCommand: onCommand,
        onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAdUlEQVQokZVSwRHAIAgLPYfoXs7RCTpG53Avt7APrhaFU8gLMEEJAkEQgFbc7IxkVjt0r6Sp7VIVITumBpKt00FA2ThmjXzkfMMWO8EZFSj8LrUyjsG9b9DaJXq+qAIVxEUxtLHpaXE95dj1NcK2rmbwaGJ4Af0tIg00j/6iAAAAAElFTkSuQmCC)';}
      });
    
      function onCommand(event) {
    
        let frameScript = function() {
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
              return;
            removeEventListener('pageshow', onPageshow);
            setTimeout(function() {
              content.getHtmlBrowser().contentDocument.querySelector('[action="check-for-updates"]').click();
              let item = document.getElementById('category-availableUpdates');
              item.click();
              let categories = item.parentNode;
              categories.addEventListener('mousedown', function onMousedown(event) {
                if (event.target != item && event.target.parentNode != item) {
                  item.hidden = true;
                  categories.removeEventListener('mousedown', onMousedown);
                };
              });
            }, 0);
          });
        };
    
        let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
        let window = event.target.ownerGlobal;
        window.openTrustedLinkIn('about:addons', 'tab');
        window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
    
      };
    
    })();
    Alles anzeigen
  • Video Aufnahme freigeben - Script anpassen?

    • aborix
    • 16. November 2019 um 09:58

    Guten Morgen, gern geschehen.

    Zitat von 2002Andreas

    was soll ich sagen...

    Nix, "danke" genügt. :)

  • Video Aufnahme freigeben - Script anpassen?

    • aborix
    • 15. November 2019 um 23:25

    Bitte teste:

    JavaScript
    (function() {
    
       if (location != AppConstants.BROWSER_CHROME_URL) return;
    
       try {
          CustomizableUI.createWidget({
             id: 'menu-button',
             type: 'custom',
             defaultArea: CustomizableUI.AREA_NAVBAR,
             onBuild: function(aDocument) {
                var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                var attributes = {
                   id: 'menu-button',
                   class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                   removable: 'true',
                   label: 'Videos aufnehmen können',
                   tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ?
                      'Videos gesperrt' : 'Videos frei',
                   oncommand: '(' + onCommand.toString() + ')()'
                };
                for (var a in attributes) {
                   button.setAttribute(a, attributes[a]);
                };
                function onCommand() {
                   var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled');
                   Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled);
                   event.target.ownerGlobal.BrowserReload();
                   var windows = Services.wm.getEnumerator('navigator:browser');
                   while (windows.hasMoreElements()) {
                      let button = windows.getNext().document.getElementById('menu-button');
                      if (isEnabled)
                         button.setAttribute('tooltiptext', 'Videos gesperrt')
                      else
                         button.setAttribute('tooltiptext', 'Videos frei');
                   };
                };
                return button;
             }
          });
       } catch(e) { };
    
       if (document.documentElement.hasAttribute('privatebrowsingmode') &&
           !Services.prefs.getBoolPref('media.mediasource.enabled'))
       {
          let button = document.getElementById('menu-button');
          button.click();
          window.addEventListener('unload', function() {
             button.click();
          });
       };
    
       var css =
          '#menu-button[tooltiptext="Videos gesperrt"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArRJREFUeNpkU0tIVUEY/mbOzDlH03RTkT3ssSgIrehJD8LKRRhoCJG1iISUdFebIAuClq3CTdDKFkF0RSOhTUWpBaURrqSIoIQwU8vHvfc8ZqZ/zr23LnY5/znn/sz3zfd95x92626qT2vTaIwBYGvJb2mLMboYOGf9Xe3NTSKOVWNH6wlwo8BZAWQSnDFFHHTTsMWgDMe9nqeNti2UihGFIbbf+IKKMoHSEheu78CXuXIdA09weFzDIzAn1q6Ty2BxCYHdJQgjlJdKVFZIlPo5Ak8QWBLQYXA5qAykVaYMrY+h8/KE0RpBNoZIdpb0lJCeA0G7S9qZeCDImmREwDRUBGQDummdJyBzaWoIAjmuyJUvIAgpLAG3BAYOWXA0S4LJBlZBLh+hiSmTJQICcklAT0C6MlEgXLJCClxY/7SYngGpyMbz0Pm8hWVME4EjfAIRmCpD7d/KQZjhWIgMwoghUgxZeg/SGkerfcReSV6BIQUBfUKSvEiLJhcYjEtpUx7wJAwpCGn7Mw+voG7wDkImoW5zbNzf9M/CHIW4is1SmAzLCQQtwGIX5AnK8XAodRPN3wZQ09ZOafpAHOHdq2H071jXTSEyLAYaDy5sgNHq7yAVpk755XhzqRs155qBX9MwcQwmBPbs3IbeiR+dIrMw93L8w/sj10dHCKeTiUvG2k4etwRlaHBIzbFTwPHTKAwrnqdgHj9L/m+mqiz0z3Zea1m/tbbl48R0VWP9bjwaHEfb/Q401O2CIoVaaXDHIXcu+t5+oriBz8VnZcWa6pH6A7VoKi9LPtXV1k2YmT+P18NPsG/LakiazNjEGBqfwoxGSiw9fLM/J3t6B160kAuZxOEIhFUH03udodGpse+HNaPJImszkUpdHPt6mf1/frGWaqWNsKhnxcxTVRT1pqi+/hFgAJneHhxuyzl0AAAAAElFTkSuQmCC)} ' +
          '#menu-button[tooltiptext="Videos frei"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAltJREFUeNqUUktPE1EU/mZamCC20qG2lC3TYILduDAxsbayIE1JQTTEDd2IQEPcSPwbVYPg1gV1ZUSmpSmauGhMIIG01ISu6OADtj4WQknb6fXcoYwlsTGe5OSe795zvvO6AkhGRm5F6vV6krQgCIIqimIylVLz+IcwxiBwY3z87nI0Gh2LRIaxu1vC7OwDeL0K7HZ7rlgsrpJjMp1O5VsShMPDzO/3Q6eLD9kspqancef2GD59/oK5h3NQFAUutwt72l7u4OBg1WKxpFT1Tc4kIId7Npv9miRJ1y0W66U+yu7tU7CWWcPk/UlMRCdQ0kp4+vgJeno88PT20lsGKyvLgtCo5jypnfQC6TmXy3XR4/Hc6OjoDFA2n+JVbFpJQygUouqmUC6XEZuJbWUy6atCi/m0kXY1CDm5pb+//0pnp80nSe2DDlke+PH926P19fW4dXR0bKVarY4a/VBBtAlDKbOJ+Zsoctxgt7ZhY2PjhQGGhkKMSzK5yhKJl+zw8OgEq2exqqbY0lLCsEOhMDvdglipVAyiLkcXFhaeYyYWw6/DI8hOGYuLf7BDdmB+/hkKhY+o1WpmryIva3NzC4yMm4NB7H/dRzwehyCKCDZhkVoKBAPQNI3nNgmsoE0Wd3bw6vUy2iUJcrcT29sF5PPb1Ldo4lwuT/Ng8F0eME6TgLE6KjUdbrfbCBAEoeW35QMtH1fo1M8S0BYgy3LL4GYS7stjTAJdJ0CZu53Ok5tWJKxRNvkaMacExJh9/+5toK7rTaP5u3BqPkwe03zX1/h1/yM/STXe0m8BBgAFNCj06D642QAAAABJRU5ErkJggg==)} ';
       var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
       document.insertBefore(stylesheet, document.documentElement);
    
    })();
    Alles anzeigen
  • Video Aufnahme freigeben - Script anpassen?

    • aborix
    • 15. November 2019 um 22:42

    Beim Öffnen eines Privaten Fensters wird jetzt der Schalter auf true gesetzt:

    JavaScript
    (function() {
    
       if (location != AppConstants.BROWSER_CHROME_URL) return;
    
       try {
          CustomizableUI.createWidget({
             id: 'menu-button',
             type: 'custom',
             defaultArea: CustomizableUI.AREA_NAVBAR,
             onBuild: function(aDocument) {
                var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                var attributes = {
                   id: 'menu-button',
                   class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                   removable: 'true',
                   label: 'Videos aufnehmen können',
                   tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ?
                      'Videos gesperrt' : 'Videos frei',
                   oncommand: '(' + onCommand.toString() + ')()'
                };
                for (var a in attributes) {
                   button.setAttribute(a, attributes[a]);
                };
                function onCommand() {
                   var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled');
                   Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled);
                   event.target.ownerGlobal.BrowserReload();
                   var windows = Services.wm.getEnumerator('navigator:browser');
                   while (windows.hasMoreElements()) {
                      let button = windows.getNext().document.getElementById('menu-button');
                      if (isEnabled)
                         button.setAttribute('tooltiptext', 'Videos gesperrt')
                      else
                         button.setAttribute('tooltiptext', 'Videos frei');
                   };
                };
                return button;
             }
          });
       } catch(e) { };
    
       if (document.documentElement.hasAttribute('privatebrowsingmode') &&
           !Services.prefs.getBoolPref('media.mediasource.enabled'))
       {
          document.getElementById('menu-button').click();
       };
    
       var css =
          '#menu-button[tooltiptext="Videos gesperrt"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArRJREFUeNpkU0tIVUEY/mbOzDlH03RTkT3ssSgIrehJD8LKRRhoCJG1iISUdFebIAuClq3CTdDKFkF0RSOhTUWpBaURrqSIoIQwU8vHvfc8ZqZ/zr23LnY5/znn/sz3zfd95x92626qT2vTaIwBYGvJb2mLMboYOGf9Xe3NTSKOVWNH6wlwo8BZAWQSnDFFHHTTsMWgDMe9nqeNti2UihGFIbbf+IKKMoHSEheu78CXuXIdA09weFzDIzAn1q6Ty2BxCYHdJQgjlJdKVFZIlPo5Ak8QWBLQYXA5qAykVaYMrY+h8/KE0RpBNoZIdpb0lJCeA0G7S9qZeCDImmREwDRUBGQDummdJyBzaWoIAjmuyJUvIAgpLAG3BAYOWXA0S4LJBlZBLh+hiSmTJQICcklAT0C6MlEgXLJCClxY/7SYngGpyMbz0Pm8hWVME4EjfAIRmCpD7d/KQZjhWIgMwoghUgxZeg/SGkerfcReSV6BIQUBfUKSvEiLJhcYjEtpUx7wJAwpCGn7Mw+voG7wDkImoW5zbNzf9M/CHIW4is1SmAzLCQQtwGIX5AnK8XAodRPN3wZQ09ZOafpAHOHdq2H071jXTSEyLAYaDy5sgNHq7yAVpk755XhzqRs155qBX9MwcQwmBPbs3IbeiR+dIrMw93L8w/sj10dHCKeTiUvG2k4etwRlaHBIzbFTwPHTKAwrnqdgHj9L/m+mqiz0z3Zea1m/tbbl48R0VWP9bjwaHEfb/Q401O2CIoVaaXDHIXcu+t5+oriBz8VnZcWa6pH6A7VoKi9LPtXV1k2YmT+P18NPsG/LakiazNjEGBqfwoxGSiw9fLM/J3t6B160kAuZxOEIhFUH03udodGpse+HNaPJImszkUpdHPt6mf1/frGWaqWNsKhnxcxTVRT1pqi+/hFgAJneHhxuyzl0AAAAAElFTkSuQmCC)} ' +
          '#menu-button[tooltiptext="Videos frei"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAltJREFUeNqUUktPE1EU/mZamCC20qG2lC3TYILduDAxsbayIE1JQTTEDd2IQEPcSPwbVYPg1gV1ZUSmpSmauGhMIIG01ISu6OADtj4WQknb6fXcoYwlsTGe5OSe795zvvO6AkhGRm5F6vV6krQgCIIqimIylVLz+IcwxiBwY3z87nI0Gh2LRIaxu1vC7OwDeL0K7HZ7rlgsrpJjMp1O5VsShMPDzO/3Q6eLD9kspqancef2GD59/oK5h3NQFAUutwt72l7u4OBg1WKxpFT1Tc4kIId7Npv9miRJ1y0W66U+yu7tU7CWWcPk/UlMRCdQ0kp4+vgJeno88PT20lsGKyvLgtCo5jypnfQC6TmXy3XR4/Hc6OjoDFA2n+JVbFpJQygUouqmUC6XEZuJbWUy6atCi/m0kXY1CDm5pb+//0pnp80nSe2DDlke+PH926P19fW4dXR0bKVarY4a/VBBtAlDKbOJ+Zsoctxgt7ZhY2PjhQGGhkKMSzK5yhKJl+zw8OgEq2exqqbY0lLCsEOhMDvdglipVAyiLkcXFhaeYyYWw6/DI8hOGYuLf7BDdmB+/hkKhY+o1WpmryIva3NzC4yMm4NB7H/dRzwehyCKCDZhkVoKBAPQNI3nNgmsoE0Wd3bw6vUy2iUJcrcT29sF5PPb1Ldo4lwuT/Ng8F0eME6TgLE6KjUdbrfbCBAEoeW35QMtH1fo1M8S0BYgy3LL4GYS7stjTAJdJ0CZu53Ok5tWJKxRNvkaMacExJh9/+5toK7rTaP5u3BqPkwe03zX1/h1/yM/STXe0m8BBgAFNCj06D642QAAAABJRU5ErkJggg==)} ';
       var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
       document.insertBefore(stylesheet, document.documentElement);
    
    })();
    Alles anzeigen
  • Firefox ESR 68.2.0 - Autoconfig.js funktioniert nicht

    • aborix
    • 15. November 2019 um 19:11

    Hallo!

    Die Einstellung hat den Typ string und der Wert muss daher in Anführungszeichen stehen:

    lockPref("plugin.disable_full_page_plugin_for_types", "application/pdf");

  • STRG + 0 soll Standard 120%

    • aborix
    • 12. November 2019 um 11:08

    Am einfachsten schreibst du die Codes aus #8 und #9 einfach hintereinander in eine Datei.

  • STRG + 0 soll Standard 120%

    • aborix
    • 11. November 2019 um 22:52

    Ja, z.B. Strg+1 setzt den Zoom-Faktor auf 133 % :

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      let key = document.createXULElement('key');
      key.id = 'key_fullZoomSpecialZoom';
      // Taste 1
      key.setAttribute('key', '1');
      // accel = Strg-Taste
      key.setAttribute('modifiers', 'accel');
      // Zoom-Faktor
      key.setAttribute('oncommand', 'FullZoom.setZoom(1.33);');
      document.getElementById('mainKeyset').appendChild(key);
    
      // Die Tastenkombination Strg+1 hat bereits eine Funktion, die wir deaktivieren
      document.getElementById('key_selectTab1').setAttribute('disabled', 'true');
    
    })();
    Alles anzeigen

Unterstütze uns!

Jährlich (2025)

94,2 %

94,2% (612,48 von 650 EUR)

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