Bei mir erscheint nichts. Allerdings suche ich überhaupt nicht in der Adressleiste, sondern mit Suchleiste.
Beiträge von milupo
-
-
Nutzt du denn die jeweils aktuelle Version davon?
Ja.
Nutzt du den privaten Modus vom Firefox?
Nein.
Zuerst: Klicke bitte auf die Anführungszeichen unter einem Beitrag, dann wird der Beitrag ordentlich als Zitat übernommen.
Zu Lightbeam: Lightbeam wird nicht mehr weiterentwickelt und ist auch bereits von addons.mozilla.org entfernt worden.
-
Arsen Es geht auch einfacher, ohne CSS:
Extras --> Einstellungen --> Datenschutz & Sicherheit --> Adressleiste
Alle Häkchen herausnehmen und da öffnet sich ebenfalls kein Popup mehr, denn es gibt ja nichts mehr zum Anzeigen.
-
So, auch mit Strands of Gold by Madonna kein Problem.
-
Ach, da habe ich gar nicht nachgesehen. Wenn er schon den direkten Pfad angibt, gehe ich davon aus, dass der stimmt. Fakt ist, der dahinterliegende Pfad geht ins Leere.
-
Mit Space 07 habe ich keine Probleme in Fx 70 mit einem frischen Profil. Madonna 3.0 gibt es nicht, dein Link führt ins Leere. Auf AMO ist Version 2.0 die aktuelle Version.
-
Sorry, aber nochmal erklär ich es nicht! Siehe Link ... und ich denke, dass ist doch absolut nachvollziehbar.
Schau nochmal genau hin, ja, das hatte ich erst geschrieben, bis ich gesehen habe, dass du das weiter oben schon beantwortet hattest. Ich habe das sofort umgeschrieben, da steht jetzt ein anderer Text in Beitrag #6.
-
Ich bearbeite Skripte und CSS-Code im Editor und nicht in den Browser-Werkzeugen. Das ist mir viel zu umständlich. Die Browser-Werkzeuge nutze ich nur, um zu sehen welche Elemente ich ansprechen muss und welche Stile es dafür gibt.
-
Firefox löscht gar nichts. Eventuell hast du ein anderes Profil als bisher?
-
Verwendest du CSS-Codes oder Benutzerskripte? Wenn ja, alle deaktivieren und dann einzeln wieder aktivieren, bis du den Schuldigen gefunden hast.
-
Du musst nicht warten. Deinstalliere ein Add-on deiner Wahl, gehe dann auf addons.mozilla.org zu der Seite dieses Add-ons. Scrolle herunter bis in der linken Spalte der Link Alle Versionen erscheint. Der führt dich zu einer Liste aller Versionen dieses Add-ons. Jetzt wählst du aber nicht die aktuelle Version aus, sondern eine ältere. Installiere diese. Dann wird dir später die Aktualisierung angeboten.
-
Watum startest du Firefox neu, nachdem du die Browserwerkezuge aufgerufen hast?
Ansonsten, gehe mal ins Profil und lösche dort den Ordner chrome_debugger_profile und starte Firefox neu.
-
-
Ja, das Skript ist direkt von der japanischen Seite. Du musst dir da eine zip-Datei herunterladen. Das funktionierte aber nur direkt von der japanischen Seite, nicht von deren Übersetzung Die Ordner darin sind alle in Japanisch, ich musste die Skriptdatei woandershin kopieren, da mein Windows keine japanische Schrift versteht.
-
Vielen Dank dafür!
Gern geschehen, aber das Skript ist nicht von mir.
-
Die Einstellungen aus about:config sowie alle anderen Benutzerdaten werden im Profilverzeichnis gespeichert. Da nützt es nicht, wenn du einfach Firefox neu installiert. Du solltest am besten Firefox bereinigen. Da wird ein neues Profil angelegt und der Ordner deines alten Profils wird bei dir auf dem Desktop abgespeichert, sodass du von dort jederzeit Daten zurückholen kannst. Lediglich Erweiterungen müssen neu installiert werden.
-
Auch bei mir kein Problem.
-
Was funktionierte denn eigentlich genau nicht mehr? Die Tableisten oder dass die Tableisten nicht ganz unten sind?
-
Probiere mal diesen Code:
JavaScript
Alles anzeigen(function() { if (window.__SSi != 'window0') return; CustomizableUI.createWidget({ id: 'addons-update-button', defaultArea: CustomizableUI.AREA_NAVBAR, label: 'Add-ons-Update', tooltiptext: 'Add-ons-Update', onCommand: onCommand, onCreated: function(button) { button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)'; } }); function onCommand(event) { let frameScript = function() { addEventListener('pageshow', function onPageshow(event) { let document = event.target; if (document.URL != 'about:addons') return; content.gViewController.doCommand('cmd_findAllUpdates'); content.gViewController.doCommand('cmd_goToAvailableUpdates'); removeEventListener('pageshow', onPageshow); let categories = document.getElementById('categories'); let item = document.getElementById('category-availableUpdates'); categories.addEventListener('mousedown', function onMousedown(event) { if (event.target != item) { item.hidden = true; categories.removeEventListener('mousedown', onMousedown); }; }); }); }; let frameScriptURI = 'data:,(' + frameScript.toString() + ')()'; let window = event.target.ownerGlobal; window.openTrustedLinkIn('about:addons', 'tab'); window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true); }; })();
-
Probiere mal diese Version, ich habe sie von einer japanischen Seite, aber es müsste sich um das richtige Skript handeln. Es ist für das 71er Nightly, aber erst vom 14. Oktober. Ein Nightly ändert sich ja ständig. Probiere es aus. Es gibt mittlerweile 8 verschiedene Skripte für mehrzeilige Tableisten. Endor ist bereits darüber her, alles aus dem Japanischen zu übersetzen, aber das wird noch ein Weilchen dauern.
JavaScript
Alles anzeigen// ==UserScript== // @name zzzz-MultiRowTab_LiteforFx48.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description 多段タブもどき実験版 CSS入れ替えまくりLiteバージョン // @include main // @compatibility Firefox 71 // @author Alice0775 // @version 2016/08/05 00:00 Firefox 48 // @version 2016/05/01 00:01 hide favicon if busy // @version 2016/03/09 00:01 Bug 1222490 - Actually remove panorama for Fx45+ // @version 2016/02/09 00:01 workaround css for lwt // @version 2016/02/09 00:00 // ==/UserScript== "use strict"; MultiRowTabLiteforFx(); function MultiRowTabLiteforFx() { var css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") { /* ツールバーの調節 */ [tabsintitlebar="true"][sizemode="maximized"] #navigator-toolbox { padding-top: 8px !important; } #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; } /* タブバーのタイトルバーボタンが縦長にならないようにする */ [tabsintitlebar="true"] #TabsToolbar > .titlebar-buttonbox-container, #main-window[inFullscreen="true"] #window-controls { display: block; } /* 多段タブ */ tabs > arrowscrollbox { display: block; } scrollbox[part][orient="horizontal"] { display: flex; flex-wrap: wrap; } tabs tab[fadein]:not([pinned]) { flex-grow: 1; } tabs tab,.tab-background { height: var(--tab-min-height); z-index: 1 !important; } tab > .tab-stack { width: 100%; } /* タブバー 左右のドラッグ領域 非表示 左右 → hbox.titlebar-spacer 左 → hbox.titlebar-spacer[type="pre-tabs"] 右 → hbox.titlebar-spacer[type="post-tabs"] */ hbox.titlebar-spacer , /* 非表示 */ #alltabs-button,tabs tab:not([fadein]), [class="scrollbutton-up"], [class="scrollbutton-up"] + spacer, scrollbox[part][orient="horizontal"] + spacer, [class="scrollbutton-down"] { display: none; } } `; var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); var css =` tabs tab { border-left: solid 1px hsla(0,0%,50%,.5) !important; border-right: solid 1px hsla(0,0%,50%,.5) !important; } tabs tab:after,tabs tab:before { display: none !important; } `; var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET); gBrowser.tabContainer.clearDropIndicator = function() { var tabs = this.allTabs; for (let i = 0, len = tabs.length; i < len; i++) { tabs[i].style.removeProperty("border-left-color"); tabs[i].style.removeProperty("border-right-color"); } } gBrowser.tabContainer.addEventListener("dragleave", function(event) { this.clearDropIndicator(event); }, true); gBrowser.tabContainer.on_dragover = function(event) { this.clearDropIndicator(); var effects = this._getDropEffectForTabDrag(event); var ind = this._tabDropIndicator; if (effects == "" || effects == "none") { ind.hidden = true; return; } event.preventDefault(); event.stopPropagation(); var arrowScrollbox = this.arrowScrollbox; // autoscroll the tab strip if we drag over the scroll // buttons, even if we aren't dragging a tab, but then // return to avoid drawing the drop indicator var pixelsToScroll = 0; if (this.getAttribute("overflow") == "true") { switch (event.originalTarget) { case arrowScrollbox._scrollButtonUp: pixelsToScroll = arrowScrollbox.scrollIncrement * -1; break; case arrowScrollbox._scrollButtonDown: pixelsToScroll = arrowScrollbox.scrollIncrement; break; } if (pixelsToScroll) { arrowScrollbox.scrollByPixels( (RTL_UI ? -1 : 1) * pixelsToScroll, true ); } } /* let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0); if ( (effects == "move" || effects == "copy") && this == draggedTab.container ) { ind.hidden = true; if (!this._isGroupTabsAnimationOver()) { // Wait for grouping tabs animation to finish return; } this._finishGroupSelectedTabs(draggedTab); if (effects == "move") { this._animateTabMove(event); return; } } this._finishAnimateTabMove(); */ if (effects == "link") { let tab = this._getDragTargetTab(event, true); if (tab) { if (!this._dragTime) { this._dragTime = Date.now(); } if (Date.now() >= this._dragTime + this._dragOverDelay) { this.selectedItem = tab; } ind.hidden = true; return; } } var rect = arrowScrollbox.getBoundingClientRect(); var newMargin; if (pixelsToScroll) { // if we are scrolling, put the drop indicator at the edge // so that it doesn't jump while scrolling let scrollRect = arrowScrollbox.scrollClientRect; let minMargin = scrollRect.left - rect.left; let maxMargin = Math.min( minMargin + scrollRect.width, scrollRect.right ); if (RTL_UI) { [minMargin, maxMargin] = [ this.clientWidth - maxMargin, this.clientWidth - minMargin, ]; } newMargin = pixelsToScroll > 0 ? maxMargin : minMargin; } else { let newIndex = this._getDropIndex(event, effects == "link"); let children = this.allTabs; if (newIndex == children.length) { let tabRect = children[newIndex - 1].getBoundingClientRect(); if (RTL_UI) { newMargin = rect.right - tabRect.left; } else { newMargin = tabRect.right - rect.left; } children[newIndex - 1].style.setProperty("border-right-color","red","important"); } else { let tabRect = children[newIndex].getBoundingClientRect(); if (RTL_UI) { newMargin = rect.right - tabRect.right; } else { newMargin = tabRect.left - rect.left; } children[newIndex].style.setProperty("border-left-color","red","important"); } } ind.hidden = false; newMargin += ind.clientWidth / 2; if (RTL_UI) { newMargin *= -1; } ind.style.transform = "translate(" + Math.round(newMargin) + "px)"; ind.style.marginInlineStart = -ind.clientWidth + "px"; } gBrowser.tabContainer.on_drop = function(event) { this.clearDropIndicator(); var dt = event.dataTransfer; var dropEffect = dt.dropEffect; var draggedTab; let movingTabs; if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) { // tab copy or move draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0); // not our drop then if (!draggedTab) { return; } movingTabs = draggedTab._dragData.movingTabs; draggedTab.container._finishGroupSelectedTabs(draggedTab); } this._tabDropIndicator.hidden = true; event.stopPropagation(); if (draggedTab && dropEffect == "copy") { // copy the dropped tab (wherever it's from) let newIndex = this._getDropIndex(event, false); let draggedTabCopy; for (let tab of movingTabs) { let newTab = gBrowser.duplicateTab(tab); gBrowser.moveTabTo(newTab, newIndex++); if (tab == draggedTab) { draggedTabCopy = newTab; } } if (draggedTab.container != this || event.shiftKey) { this.selectedItem = draggedTabCopy; } } else if (draggedTab && draggedTab.container == this) { let oldTranslateX = Math.round(draggedTab._dragData.translateX); let tabWidth = Math.round(draggedTab._dragData.tabWidth); let translateOffset = oldTranslateX % tabWidth; let newTranslateX = oldTranslateX - translateOffset; if (oldTranslateX > 0 && translateOffset > tabWidth / 2) { newTranslateX += tabWidth; } else if (oldTranslateX < 0 && -translateOffset > tabWidth / 2) { newTranslateX -= tabWidth; } let dropIndex = this._getDropIndex(event, false); // "animDropIndex" in draggedTab._dragData && // draggedTab._dragData.animDropIndex; let incrementDropIndex = true; if (dropIndex && dropIndex > movingTabs[0]._tPos) { dropIndex--; incrementDropIndex = false; } let animate = gBrowser.animationsEnabled; if (oldTranslateX && oldTranslateX != newTranslateX && animate) { for (let tab of movingTabs) { tab.setAttribute("tabdrop-samewindow", "true"); tab.style.transform = "translateX(" + newTranslateX + "px)"; let onTransitionEnd = transitionendEvent => { if ( transitionendEvent.propertyName != "transform" || transitionendEvent.originalTarget != tab ) { return; } tab.removeEventListener("transitionend", onTransitionEnd); tab.removeAttribute("tabdrop-samewindow"); this._finishAnimateTabMove(); if (dropIndex !== false) { gBrowser.moveTabTo(tab, dropIndex); if (incrementDropIndex) { dropIndex++; } } gBrowser.syncThrobberAnimations(tab); }; tab.addEventListener("transitionend", onTransitionEnd); } } else { this._finishAnimateTabMove(); if (dropIndex !== false) { for (let tab of movingTabs) { gBrowser.moveTabTo(tab, dropIndex); if (incrementDropIndex) { dropIndex++; } } } } } else if (draggedTab) { let newIndex = this._getDropIndex(event, false); let newTabs = []; for (let tab of movingTabs) { let newTab = gBrowser.adoptTab(tab, newIndex++, tab == draggedTab); newTabs.push(newTab); } // Restore tab selection gBrowser.addRangeToMultiSelectedTabs( newTabs[0], newTabs[newTabs.length - 1] ); } else { // Pass true to disallow dropping javascript: or data: urls let links; try { links = browserDragAndDrop.dropLinks(event, true); } catch (ex) {} if (!links || links.length === 0) { return; } let inBackground = Services.prefs.getBoolPref( "browser.tabs.loadInBackground" ); if (event.shiftKey) { inBackground = !inBackground; } let targetTab = this._getDragTargetTab(event, true); let userContextId = this.selectedItem.getAttribute("usercontextid"); let replace = !!targetTab; let newIndex = this._getDropIndex(event, true); let urls = links.map(link => link.url); let csp = browserDragAndDrop.getCSP(event); let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal( event ); (async () => { if ( urls.length >= Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn") ) { // Sync dialog cannot be used inside drop event handler. let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs( urls.length, window ); if (!answer) { return; } } gBrowser.loadTabs(urls, { inBackground, replace, allowThirdPartyFixup: true, targetTab, newIndex, userContextId, triggeringPrincipal, csp, }); })(); } if (draggedTab) { delete draggedTab._dragData; } } gBrowser.tabContainer._getDropIndex = function(event, isLink) { var tabs = this.allTabs; var tab = this._getDragTargetTab(event, isLink); if (!RTL_UI) { for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) { if ( event.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height ) { if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) { return i; } if ( event.screenX > tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 && event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width ) { return i + 1; } } } } else { for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) { if ( event.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height ) { if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width && event.screenX > tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) { return i; } if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) { return i + 1; } } } } return tabs.length; } }
Für die Positionierung ganz unten hast du vielleicht dieses Skript:
JavaScript
Alles anzeigen(function(){ var tabbar = document.getElementById("TabsToolbar"); try { var vbox = document.createXULElement('vbox'); document.getElementById("navigator-toolbox").parentNode.insertBefore( vbox, document.getElementById("browser-bottombox")); vbox.appendChild(document.getElementById("TabsToolbar")); } catch(e) {} })();