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

  • Script für unser Forum erstellen

    • aborix
    • 11. Juni 2019 um 14:13

    Funktioniert es in anderen Browsern auch bei Code-Boxen in neuen und geänderten Beiträgen?

  • Script für unser Forum erstellen

    • aborix
    • 11. Juni 2019 um 12:45

    Wenn ihr einen Beitrag mit einer Code-Box ändert, funktioniert es dann in dieser Code-Box ohne Neuladen?

  • Script für unser Forum erstellen

    • aborix
    • 11. Juni 2019 um 10:07
    Zitat von 2002Andreas

    Manchmal funktioniert das nicht bei einer Box, erst wenn man einen Reload der Seite per F5 macht, öffnet sich die Box.

    Geschieht das bei einer Box in einem neuen oder geänderten Beitrag oder sonst auch?

  • Script für unser Forum erstellen

    • aborix
    • 11. Juni 2019 um 08:08

    Bitte teste:

    Code
    // ==UserScript==
    // @name      doubleclick toggle code
    // @include   https://www.camp-firefox.de/forum/thema/*
    // ==/UserScript==
    
    addEventListener('pageshow', function() {
      let codeBoxes = document.querySelectorAll('.codeBox.collapsibleBbcode');
      for (let codeBox of codeBoxes) {
        let toggleButton = codeBox.querySelector('.toggleButton.jsToggleButtonEnabled');
        if (toggleButton) {
          codeBox.addEventListener('dblclick', function() {
            toggleButton.click();
            getSelection().removeAllRanges();
          });
        };
      };
    }, {once: true});
    Alles anzeigen
  • 2019-Update: Großer camp-firefox.de Relaunch

    • aborix
    • 6. Juni 2019 um 17:57
    Zitat von brick

    Wie wäre es außerdem mit einer Art "Spielwiese", also ein Thread, in dem man die Funktionsweise des neuen Editors ausprobieren kann, ohne daß man eine konkrete Frage stellen muss?

    Es gibt einen solchen Thread:

    https://www.camp-firefox.de/forum/thema/71405-test/

  • Tab Fokus funktioniert nicht im Nightly

    • aborix
    • 3. Juni 2019 um 22:16
    Zitat von milupo

    Könntest du ein paar Mozilla-Quellen angeben, die beschreiben, wie sich XUL- und JavaScript-Elemente für XHTML ändern werden?

    Ich weiß keine Quellen, ich müsste erst danach suchen. Ich gebe die Frage an Sören Hentzschel weiter.

  • Tab Fokus funktioniert nicht im Nightly

    • aborix
    • 1. Juni 2019 um 22:56

    Bitte, gern geschehen. :)

    (Gilt auch für die anderen Threads. :wink: )

  • Tab Fokus funktioniert nicht im Nightly

    • aborix
    • 1. Juni 2019 um 22:47
    Zitat von 2002Andreas


    Könnte ein allgemeines Problem mit Scripten für Tabs sein:

    Double click reload tab funkioniert nicht mehr

    Ja, dIe Ursache ist die gleiche, XUL-Elemente der Tabs wurden durch XHTML-Elemente ersetzt.

    Bitte testet:

    Code
    var tab_hover = {
       event:null,
       tid:null,
    
    
       getTab: function(element) {
          while (element && element.localName != 'tab') {
            element = element.parentNode;
          };
          return element;
       },
       onLoad: function() {
          gBrowser.tabContainer.addEventListener("mouseout", tab_hover.onMouseOut, false);
          gBrowser.tabContainer.addEventListener("mouseover", tab_hover.onMouseOver, false);
       },
       onUnload: function() {
          gBrowser.tabContainer.removeEventListener("mouseover", tab_hover.onMouseOver, false);
          gBrowser.tabContainer.removeEventListener("mouseout", tab_hover.onMouseOut, false);
       },
    
    
       onMouseOver: function(event) {
          tab_hover.event = event.target;
          tab_hover.tid = setTimeout(function() {
             gBrowser.selectedTab = tab_hover.getTab(tab_hover.event);
          }, 250);
       },
       onMouseOut: function() {
          clearTimeout(tab_hover.tid);
       }
    };
    tab_hover.onLoad();
    Alles anzeigen
  • Script Autoreload anpassen

    • aborix
    • 1. Juni 2019 um 10:43

    Teste:

    Code
    (function() {
    
    
      if (!window.gBrowser)
        return;
    
    
      let frameScript = function() {
    
    
        function urlMatches(aUrl) {
          const urls = [
            'https://www.firefox-forum.com/',
            'https://www.camp-firefox.de/forum/viewforum.php?f=1',
            'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=a&sg=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=d&sg=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=a&sd=a&start=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=b&sd=d&start=0',
            'https://www.camp-firefox.de/forum/viewonline.php'
          ];
          const urlPrefixes = [
            'https://www.camp-firefox.de/forum/index.php',
            'https://www.camp-firefox.de/forum/memberlist.php?mode='
          ];
          return urls.includes(aUrl) || urlPrefixes.some(string => aUrl.startsWith(string));
        };
    
    
        addEventListener('DOMContentLoaded', function(event) {
          let document = event.target;
          if (!urlMatches(document.location.href))
            return;
          let timId;
          if (!document.hidden) {
            let wait = 9000;
            if (document.URL.startsWith('about:neterror?')) {
              wait = 1000;
            };
            timId = content.setTimeout(function() {
              document.location.reload();
            }, wait);
          };
          document.addEventListener('visibilitychange', function() {
            if (document.hidden) {
              content.clearTimeout(timId);
            } else {
              document.location.reload();
            }
          });
        });
    
    
      };
    
    
      let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
      window.messageManager.loadFrameScript(frameScriptURI, true);
    
    
    })();
    Alles anzeigen
  • Script Autoreload anpassen

    • aborix
    • 31. Mai 2019 um 22:21

    Teste folgendes userChromeJS-Skript, das auf dem Tampermonkey-Skript basiert.

    Die Urls bei const urls müssen mit denen der betreffenden Seiten genau übereinstimmen.
    Die Strings bei const urlPrefixes müssen Anfangsabschnitte der Urls der betreffenden Seiten sein (entspricht in der Tampermonkey-Syntax mit * am Ende).

    Code
    (function() {
    
    
      if (!window.gBrowser)
        return;
    
    
      let frameScript = function() {
    
    
        function urlMatches(aUrl) {
          const urls = [
            'https://www.firefox-forum.com/',
            'https://www.camp-firefox.de/forum/viewforum.php?f=1',
            'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=a&sg=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=d&sg=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=a&sd=a&start=0',
            'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=b&sd=d&start=0',
            'https://www.camp-firefox.de/forum/viewonline.php'
          ];
          const urlPrefixes = [
            'https://www.camp-firefox.de/forum/index.php',
            'https://www.camp-firefox.de/forum/memberlist.php?mode='
          ];
          return urls.includes(aUrl) || urlPrefixes.some(string => aUrl.startsWith(string));
        };
    
    
        addEventListener('DOMContentLoaded', function(event) {
          let document = event.target;
          if (!urlMatches(document.URL))
            return;
          let timId;
          if (!document.hidden) {
            timId = content.setTimeout(function() {
              document.location.reload();
            }, 9000);
          }
          document.addEventListener('visibilitychange', function() {
            if (document.hidden) {
              content.clearTimeout(timId);
            } else {
              document.location.reload();
            }
          });
        });
    
    
      };
    
    
      let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
      window.messageManager.loadFrameScript(frameScriptURI, true);
    
    
    })();
    Alles anzeigen
  • Double click reload tab funkioniert nicht mehr

    • aborix
    • 31. Mai 2019 um 21:58

    Bitte testen:

    Code
    (function() {
    
    
      if (!window.gBrowser)
        return;
    
    
      gBrowser.tabContainer.addEventListener('dblclick', function(event) {
        if (event.button != 0)
          return;
        let element = event.target.parentNode;
        while (element) {
          if (element.localName == 'tab') {
            element.linkedBrowser.reload();
            return;
          };
          element = element.parentNode;
        };
      });
    
    
    })();
    Alles anzeigen
  • Ungeladene Tabs werden beim Anklicken nach Firefox-Start manchmal aktualisiert, manchmal nicht

    • aborix
    • 25. Mai 2019 um 22:56

    Teste:

    Code
    (function() {
    
    
      if (!window.gBrowser)
        return;
    
    
      setTimeout(() => {
    
    
        let tab = gBrowser.tabs[0];
    
    
        while (tab && tab.pinned) {
          tab.linkedBrowser.reload();
          tab = tab.nextSibling;
        };
    
    
        while (tab) {
          if (tab.selected) {
            tab.linkedBrowser.reload();
          } else {
            tab.notReloaded = true;
          };
          tab = tab.nextSibling;
        };
    
    
        gBrowser.tabContainer.addEventListener('TabSelect', event => {
          let tab = event.target;
          if (tab.notReloaded) {
            setTimeout(() => {
              tab.linkedBrowser.reload();
              tab.notReloaded = undefined;
            }, 500);
          };
        }, true);
    
    
      }, 2000);
    
    
    })();
    Alles anzeigen
  • suche ersatz für "Focus Last Selected Tab"

    • aborix
    • 25. Mai 2019 um 21:45
    Zitat von Speravir


    Was ich jetzt auf die Schnelle nicht sehe: Man muss mit der linken Maustaste klicken?

    Ja, das wird im Event Listener für 'mousedown' abgefragt und im Event Listener für 'click' braucht man es dann nicht mehr.

  • Skript für automatisches Schließen von aboutDialog

    • aborix
    • 25. Mai 2019 um 08:12

    Hallo, bitte schön:

    Code
    (function() {
    
    
      if (location != 'chrome://browser/content/aboutDialog.xul')
        return;
    
    
      document.getElementById('releasenotes').addEventListener('click', event => {
        if (event.button == 0) {
          window.close();
        };
      });
    
    
    })();
    Alles anzeigen
  • Meldungen über Spam im Forum

    • aborix
    • 22. Mai 2019 um 09:02

    https://www.camp-firefox.de/forum/memberli…rofile&u=100961

  • Lesezeichenleist wie Startleist von Opera?

    • aborix
    • 17. Mai 2019 um 09:55

    Teste:

    Code
    (function() {
    
    
      if (location != 'chrome://browser/content/browser.xul')
        return;
    
    
      var bmToolbar = document.getElementById('PersonalToolbar');
      var textbox = gURLBar.textbox;
      var goButton = gURLBar.goButton;
      var dropmarker = document.getAnonymousElementByAttribute(textbox, 'anonid', 'historydropmarker');
    
    
      function showTb() {
        CustomizableUI.setToolbarVisibility('PersonalToolbar', true);
      };
      function hideTb() {
        if (!bmToolbar.collapsed) {
          CustomizableUI.setToolbarVisibility('PersonalToolbar', false);
        };
      };
    
    
      hideTb();
    
    
      textbox.addEventListener('keypress', function(event) {
        if (event.keyCode == 13) {  // Enter-Taste
          hideTb();
        };
      });
    
    
      window.addEventListener('click', function(event) {
        if (event.button == 0) {
          if (event.target == textbox && event.originalTarget != goButton
              && event.originalTarget != dropmarker && bmToolbar.collapsed) {
            showTb();
          } else {
            hideTb();
          };
        } else if (event.button == 1) {
          hideTb();
        };
      }, true);
    
    
    })();
    Alles anzeigen
  • autopopup funktioniert in Nightly nicht mehr

    • aborix
    • 16. Mai 2019 um 02:01

    Noch eine neue Version, sie funktioniert in Fx 67 und 68. Das Autopopup erfolgt bei allen standardmäßig vorhandenen Menüs und Buttons, außerdem im Anpassen-Modus bei den drei Buttons unten und im Bibliotheksfenster. Das Ausblenden beim Mouseout funktioniert in Fx 68 meistens, in Fx 67 öfters nicht.

    Code
    // ==UserScript==
    // @name           AutoPopup.uc.js
    // @description    Auto popup menulist/menupopup
    // @compatibility  Firefox 67+
    // @author         GOLF-AT, modified by gsf & aborix
    // @version        2019.05.18
    // ==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 == document.getElementById('nav-bar-overflow-button');
    	}
    
    
    	function IsUrlbarDropmarker(elt) {
    		try {
    			return elt.getAttribute('anonid') == 'historydropmarker';
    		} catch(e) { }
    	}
    
    
    	function IsCustomizationBtn(elt) {
    		return IsButton(elt) && elt.className == 'customizationmode-button';
    	}
    
    
    	function IsAutoComplete(elt) {
    		try {
    			return elt.getAttribute('type').substr(0, 12) == 'autocomplete';
    		} catch(e) { }
    	}
    
    
    	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)) {
    				isPop = true;
    			} else if (s == 'dropmarker') {
    				if (node.getAttribute('type') == 'menu') {
    					if (node.parentNode.firstChild.localName == 'menupopup')
    						isPop = true;
    				} else if (IsUrlbarDropmarker(node))
    					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.boxObject.width > 0
    					    && elt.boxObject.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.ownerDocument.getAnonymousNodes(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, box;
    		for (pos = 0, x = elt.boxObject.screenX, y = elt.boxObject.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.boxObject.height >= 3 * elt.boxObject.width) {
    				if (elt.boxObject.height >= 45) {
    					pos = 9;
    					break;
    				}
    			} else if (elt.boxObject.width >= 3 * elt.boxObject.height) {
    				if (elt.boxObject.width >= 45) {
    					pos = 8;
    					break;
    				}
    			}
    		}
    		try {
    			box = elt.boxObject;
    			x = (pos & 1) ? (x <= box.width / 2 + box.screenX ? 1 : 3) :
    			                (y <= box.height / 2 + box.screenY ? 0 : 2);
    		} catch(e) {
    			x = 0;
    		}
    		return popupPos[x];
    	}
    
    
    	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') {
    			if (IsUrlbarDropmarker(overElt)) {
    				PopElt = gURLBar.panel;
    				if (!gURLBar.textbox.hasAttribute('open'))
    					overElt.click();
    			} else
    				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 {
    			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 && PopElt.hidePopup)
    				PopElt.hidePopup();
    			else if (PopElt.popupBoxObject)
    				PopElt.popupBoxObject.hidePopup();
    			else if (IsSearchBtn(overElt))
    				searchBar.textbox.closePopup();
    			else if (IsPanelMenuBtn(overElt))
    				PanelUI.hide();
    		} 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) {
    			window.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) {
    			window.clearTimeout(PopTimer);
    			PopTimer = null;
    		}
    		if (!HideTimer && PopElt)
    			HideTimer = window.setTimeout(HidePopup, hideDelay);
    	}
    
    
    	window.addEventListener('mouseover', MouseOver, false);
    
    
    })();
    Alles anzeigen
  • space_and_separator_restorer.uc.js funktioniert unter Win10 nicht mehr richtig

    • aborix
    • 10. Mai 2019 um 22:37

    So geht's:

    CSS
    toolbarseparator[id^=customizableui-special-separator] {
      -moz-appearance: none !important;
      border: 1px solid red! important;
    }

    MDN - CSS - Attribute selectors

  • autopopup funktioniert in Nightly nicht mehr

    • aborix
    • 10. Mai 2019 um 00:44

    Funktioniert es mit dem Skript aus #8 und diesem Zusatz im Autopopup:

    Code
    {
    		id: 'searchbar-history-dropmarker',
    		popMemu: 'PopupSearchAutoComplete',
    		run: function() {
    			searchBar.openSuggestionsPanel();
    		}
    	}
  • Der Glückwunsch-Thread

    • aborix
    • 8. Mai 2019 um 20:01

    Alles Gute! :)

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