Hatte ich ja hinterher gesehen und daher wieder gelöscht.
Beiträge von Endor
-
-
Schau dir mal dieses Script an:
https://github.com/alice0775/user…LiteforFx.uc.js
Angehäftete Tabs werden aber noch nicht unterstützt, laut Hinweis vom Autor.
Script:
JavaScript
Alles anzeigen// ==UserScript== // @name verticalTabLiteforFx.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description CSS入れ替えまくりLiteバージョン // @include main // @compatibility Firefox 78ESR // @author Alice0775 // @note not support pinned tab yet // @version 2020/10/21 12:00 fix resize vtb when drag Sidebar splitter // @version 2020/10/18 00:00 fix detach Tab Threshold // @version 2020/09/25 05:00 use ResizeObserver instead resize event // @version 2020/09/25 05:00 adjust allTabsMenu to make including pinned tab // @version 2020/09/23 01:30 cosme label pinned // @version 2020/09/25 01:00 dblclick splitter toggle tabbar // @version 2020/09/25 01:00 check gBrowserInit.delayedStartupFinished // @version 2020/09/23 01:00 cosme // @version 2020/09/21 01:00 force ReducedMotion for tab manuplation // @version 2020/09/21 00:00 78ESR fix close button // @version 2020/09/16 20:00 78ESR make tab resizabe (todo pinned tab) // @version 2020/09/16 10:00 78ESR fix fullscreen window controls(wip, todo pinned tab) // @version 2020/09/16 00:00 78ESR fix fullscreen navbar(wip, todo pinned tab) // @version 2020/09/15 00:00 78ESR (wip, todo pinned tab) // @version 2019/10/23 00:00 68ESR fix multiselect mark // @version 2019/10/22 00:00 68ESR // ==/UserScript== "user strict"; // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { verticalTabLiteforFx(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); verticalTabLiteforFx(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); } function verticalTabLiteforFx() { let verticalTabbar_maxWidth = 225; /* タブバーの横幅 px */ let verticalTab_height = 18; /* タブの高さ px */ /* not yet */ //let verticalTabPinned_width = 27; /* ピン留めタブの横幅 px */ //let verticalScrollbar_width = 11; /* スクロールバー幅 px */ let verticalTabbar_minWidth = Services.prefs.getIntPref("browser.tabs.tabMinWidth", 0); let verticalTabbar_width = Services.prefs.getIntPref("ucjs.tabWidth", verticalTabbar_maxWidth); var css =`@-moz-document url-prefix("chrome://browser/content/browser.xhtml") { /* vertical tabs */ #vtb_TabsToolbar { max-width: ${verticalTabbar_maxWidth}px !important; min-width: calc(0px + ${verticalTabbar_minWidth}px) !important; width: ${verticalTabbar_width}px !important; background-color: transparent; } #vtb_splitter:not([state="collapsed"]) { -moz-appearance: none !important; border: 0 solid !important; min-width: 1px !important; width: 4px !important; background-image: none !important; background-color: transparent !important; margin-inline-start: -4px !important; position: relative; } #tabbrowser-tabs { height: calc(100vh - 2 * ${verticalTab_height}px) !important; } .tabbrowser-tab { max-height: ${verticalTab_height}px !important; font-size: calc(${verticalTab_height}px - 3px) !important; } .tabbrowser-tab:not([pinned]) { width: auto !important; max-width: auto !important; transition: none !important; } .tabbrowser-tab::after, .tabbrowser-tab::before { border-left: none !important; } /* put scrollbar at left side */ #tabbrowser-tabs { direction: rtl; /*scroll bar position*/ } .tabbrowser-tab { direction: ltr; /*scroll bar position*/ } /* be able to drag scrollbar thumb */ scrollbox[part] > scrollbar { -moz-window-dragging: no-drag; } /* hide */ #tabs-newtab-button, .titlebar-spacer[type="pre-tabs"], .tab-drop-indicator { display: none !important; } /* always show toolbuttons*/ tabs:not([overflow="true"]):not([hashiddentabs]) ~ #new-tab-button, tabs:not([overflow="true"]):not([hashiddentabs]) ~ #alltabs-button { display: -moz-box !important; } /*DOMFullScreen*/ :root[inFullscreen][inDOMFullscreen] #vtb_TabsToolbar { display: none; } /*FullScreen*/ :root[inFullscreen]:not([inDOMFullscreen]) #vtb_TabsToolbar:not(:hover) { max-width: 1px !important; min-width: 1px !important; opacity: 0; visibility: visible !important; transition: .5s; } :root[inFullscreen]:not([inDOMFullscreen]) #vtb_TabsToolbar:hover { visibility: visible !important; transition: .2s; } :root[inFullscreen] #vtb_splitter { display: none; } /*Print Preview*/ :root[printpreview] #vtb_TabsToolbar { display: none; } /*Popup window*/ :root[chromehidden*="toolbar"] #vtb_TabsToolbar { display: none; } /* height of menu bar */ :root:not([tabsintitlebar]) #toolbar-menubar { height: 30px; } :root:not([tabsintitlebar]) #main-menubar { padding-top: 4px; } /* */ :root:not([inFullscreen])[tabsintitlebar][Menubarinactive] #titlebar { margin-top:-32px; } /* window control and drag space */ :root[tabsintitlebar]:not([Menubarinactive]) #nav-bar .titlebar-buttonbox{ display: none !important; } :root:not([inFullscreen])[tabsintitlebar]:not([Menubarinactive]) .titlebar-spacer[type="post-tabs"] { display: none !important; } :root:not([inFullscreen])[tabsintitlebar][Menubarinactive] .titlebar-spacer[type="post-tabs"] { display: -moz-box !important; } :root[inFullscreen]:not([tabsintitlebar]) .titlebar-buttonbox-container, :root[inFullscreen]:not([tabsintitlebar]) .titlebar-buttonbox { display: none !important; } /* :root[inFullscreen]:not([tabsintitlebar]) #window-controls { display: none; } */ :root[inFullscreen] .titlebar-restore { display: -moz-box !important; } :root[inFullscreen] .titlebar-max { display: none !important } /*cosme*/ .tab-content { padding: 0 2px !important; } .tab-label { line-height: 1.5em !important; } .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]), .tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr) { direction: ltr; mask-image: linear-gradient(to left, transparent, black 0.5em) !important; } /*scrollbar color*/ toolbar[brighttext] #tabbrowser-tabs * { scrollbar-color: rgba(249,249,250,.4) rgba(20,20,25,.3) !important; } /*bollow css code from https://egg.5ch.net/test/read.cgi/software/1579702570/676 */ /* ピン留めしたタブのタイトルをグラデーション表示 */ #vtb_TabsToolbar .tab-label-container[textoverflow][labeldirection=ltr][pinned] { mask-image: linear-gradient(to left, transparent, black 0.5em)!important; } /* ピン留めしたタブicon左右位置調整 */ .tab-throbber[pinned], .tab-sharing-icon-overlay[pinned], .tab-icon-pending[pinned], .tab-icon-image[pinned] { margin-inline-end: 6px; } /* ピン留めしたタブに閉じるボタンを表示する・左右位置調整 */ #vtb_TabsToolbar .tabbrowser-tab[pinned]:not([tabProtect]) .tab-close-button { visibility:visible !important; display: unset !important; margin-inline-end: -2px; } /* ピン留めしたタブのサウンドアイコン */ #vtb_TabsToolbar .tab-icon-overlay:-moz-any([soundplaying],[muted],[activemedia-blocked]), #vtb_TabsToolbar .tab-icon-overlay:-moz-any([soundplaying],[muted][activemedia]) { display: none !important;; } #vtb_TabsToolbar .tabbrowser-tab[pinned] .tab-icon-sound[soundplaying] { color: #00ACE5; visibility: visible; display: unset !important; } #vtb_TabsToolbar .tabbrowser-tab[pinned] .tab-icon-sound[muted] { color: #FF6E00; visibility: visible; display: unset !important; } /* ピン留めしたタブにピンマークを付ける */ #vtb_TabsToolbar .tabbrowser-tab[pinned="true"] .tab-content::before { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAABPUlEQVQokY3RTUtCQRTG8WnRNwj6DDkzotwLBoVBZLeIgsCglYvAct0LSLlICIqLm7LAIIQIAqMWiULaQsyITOkFgtpEuwokiJDE9J6nXWpG9F8efnAOM4zVVY6PH9B+NygxUC7nnSsAWtjPimdOlxF1gI7HQLkJ0OM0KpWQowEZJ2rweUuiuGNDKeUGPfhhvK+jAVFGgo4sKAQFVgcFZq3ielNRWr9BNTfqQtoMIyJw5eNYUAUCw0obY4wxHNraKd71RGkJSprxFuKIuARmpHyprUhxIClBSSuMPY5bP8dipwlrI6q1hrLqPeWHQFEFpTDHpc+E2JSKarY30XDwZ6bvhuJ2vG504MLLcTon8bHbQ01vFA54z++WbfnYJC8s2UVB1yzzTUjTtO2mYX26rvf/+gX1eTwe95/gP30BeHKkcA2on8MAAAAASUVORK5CYII=") !important; position: absolute !important; z-index: -1 !important; margin-left: 13px !important; margin-right: 0px !important; margin-top: -14px !important; display: block !important; filter: saturate(150%) !important; } /* タブのfaviconよりもピンマークを上にする */ #vtb_TabsToolbar .tabbrowser-tab[pinned="true"] .tab-icon-image { position: relative !important; z-index: -2 !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.AGENT_SHEET); var ref = document.getElementById('SM_toolbox') || document.getElementById('sidebar-box') || document.getElementById("appcontent"); var vtbTabsToolbar = document.createXULElement('hbox'); vtbTabsToolbar.setAttribute("id", "vtb_TabsToolbar"); document.getElementById("browser").insertBefore(vtbTabsToolbar, ref); var tabsToolbar = document.getElementById('TabsToolbar'); vtbTabsToolbar.appendChild(tabsToolbar); //prepare for splitter var vtbSplitter = document.createXULElement("splitter"); vtbSplitter.setAttribute("id", "vtb_splitter"); vtbSplitter.setAttribute("state", "open"); vtbSplitter.setAttribute("collapse", "before"); vtbSplitter.setAttribute("resizebefore", "closest"); vtbSplitter.setAttribute("resizeafter", "closest"); document.getElementById("browser").insertBefore(vtbSplitter, ref); tabsToolbar.setAttribute("orient", "vertical"); tabsToolbar.querySelector(".toolbar-items").setAttribute("orient", "vertical"); tabsToolbar.querySelector(".toolbar-items").removeAttribute("align"); tabsToolbar.querySelector("#TabsToolbar-customization-target").setAttribute("orient", "vertical"); // scrollbar gBrowser.tabContainer.setAttribute("orient", "vertical"); var arrowScrollbox = gBrowser.tabContainer.arrowScrollbox; arrowScrollbox.setAttribute("orient", "vertical"); var scrollbox = arrowScrollbox.shadowRoot.querySelector("scrollbox"); scrollbox.setAttribute("orient", "vertical"); scrollbox.style.setProperty("overflow-y", "auto", ""); scrollbox.style.setProperty("scrollbar-width", "thin", ""); // hide scroll buttons var scrollButtonUp = arrowScrollbox.shadowRoot.getElementById("scrollbutton-up"); var scrollButtonDown = arrowScrollbox.shadowRoot.getElementById("scrollbutton-down"); scrollButtonUp.style.setProperty("display", "none", ""); scrollButtonDown.style.setProperty("display", "none", ""); var spacer1 = arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]'); var spacer2 = arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]'); spacer1.style.setProperty("display", "none", ""); spacer2.style.setProperty("display", "none", ""); // ignore lock tab width when closing gBrowser.tabContainer._lockTabSizing = function (aTab, tabWidth){}; // print preview PrintPreviewListener._toggleAffectedChrome_org = PrintPreviewListener._toggleAffectedChrome; PrintPreviewListener._toggleAffectedChrome = function() { PrintPreviewListener._toggleAffectedChrome_org(); if (!gInPrintPreviewMode) document.getElementById("main-window").removeAttribute("printpreview"); else document.getElementById("main-window").setAttribute("printpreview", "true"); }; // control buttons let spacer = tabsToolbar.querySelector('.titlebar-spacer[type="post-tabs"]'); let accessibility = tabsToolbar.querySelector('.accessibility-indicator'); let private = tabsToolbar.querySelector('.private-browsing-indicator'); let control = tabsToolbar.querySelector('.titlebar-buttonbox-container'); ref = document.getElementById("PanelUI-button"); ref.parentNode.insertBefore(spacer, ref); ref.parentNode.insertBefore(accessibility, ref); ref.parentNode.insertBefore(private, ref); ref.parentNode.insertBefore(control, ref); var func = FullScreen._updateToolbars.toString(); func = func.replace( 'document.getElementById("TabsToolbar").appendChild(fullscreenctls);', '' ); FullScreen._updateToolbars = new Function( func.match(/\(([^)]*)/)[1], func.replace(/[^{]*\{/, '').replace(/}\s*$/, '') ); const target = document.getElementById('toolbar-menubar'); if (!target?.getAttribute("inactive")) document.getElementById("main-window").removeAttribute("Menubarinactive"); else document.getElementById("main-window").setAttribute("Menubarinactive", "true"); verticalTabLiteforFx.observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (!mutation.target?.getAttribute("inactive")) document.getElementById("main-window").removeAttribute("Menubarinactive"); else document.getElementById("main-window").setAttribute("Menubarinactive", "true"); }); }); const config = { attributes: true, attributeFilter: ["inactive", "autohide"]}; verticalTabLiteforFx.observer.observe(target, config); window.addEventListener("unload", function(){ verticalTabLiteforFx.observer.disconnect(); }, {once: true}); gBrowser.tabContainer._positionPinnedTabs = function _positionPinnedTabs() { return; } gBrowser.tabContainer._updateCloseButtons = function _updateCloseButtons() { return; } gBrowser.removeTab_vtb_org = gBrowser.removeTab; gBrowser.removeTab = function removeTab( aTab, { animate, byMouse, skipPermitUnload, closeWindowWithLastTab, prewarmed, } = {}) { animate = false; gBrowser.removeTab_vtb_org(aTab, { animate, byMouse, skipPermitUnload, closeWindowWithLastTab, prewarmed, }); } gBrowser.tabContainer._getDropEffectForTabDrag = function(event){return "";}; // default "dragover" handler does nothing gBrowser.tabContainer.lastVisibleTab = function() { var tabs = this.allTabs; for (let i = tabs.length - 1; i >= 0; i--){ if (!tabs[i].hasAttribute("hidden")) return i; } return -1; }; gBrowser.tabContainer.clearDropIndicator = function() { var tabs = this.allTabs; for (let i = 0, len = tabs.length; i < len; i++){ let tab_s= tabs[i].querySelector(".tab-background").style; tab_s.removeProperty("box-shadow"); } }; gBrowser.tabContainer.addEventListener("drop",function(event){this.on_drop(event);},true); gBrowser.tabContainer.addEventListener("dragleave",function(event){this.clearDropIndicator(event);},true); gBrowser.tabContainer._getDragTargetTab = function _getDragTargetTab(event, isLink) { let tab = event.target; while (tab && tab.localName != "tab") { tab = tab.parentNode; } if (tab && isLink) { let { height } = tab.getBoundingClientRect(); if ( event.screenY < tab.screenY + height * 0.25 || event.screenY > tab.screenY + height * 0.75 ) { return null; } } return tab; } gBrowser.tabContainer.on_dragover = function(event) { this.clearDropIndicator(); var effects = this._getDropEffectForTabDrag(event); event.preventDefault(); event.stopPropagation(); 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; } return; } } var newIndex = this._getDropIndex(event, effects == "link"); if (newIndex == null) return; if (newIndex < this.allTabs.length) { this.allTabs[newIndex].querySelector(".tab-background").style.setProperty("box-shadow","0px 2px 0px 0px #f00 inset, 0px -2px 0px 0px #f00","important"); } else { newIndex = gBrowser.tabContainer.lastVisibleTab(); if (newIndex >= 0) this.allTabs[newIndex].querySelector(".tab-background").style.setProperty("box-shadow","0px -2px 0px 0px #f00 inset, 0px 2px 0px 0px #f00","important"); } }; gBrowser.tabContainer.addEventListener("dragover", gBrowser.tabContainer.on_dragover, true); gBrowser.tabContainer._getDropIndex = function(aEvent, isLink) { var tabs = this.allTabs; for (let i = 0; i < tabs.length; i++){ if (aEvent.screenY >= tabs[i].screenY && aEvent.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height / 2) return i; if (aEvent.screenY >= tabs[i].screenY + tabs[i].getBoundingClientRect().height / 2 && aEvent.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height) return i + 1; } return tabs.length; }; 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; } if (false && oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) { 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; } }; func = gBrowser.tabContainer.on_dragend.toString(); func = func.replace( 'var wX = window.screenX;', 'var wX = window.screenX;var wY = window.screenY;' ).replace( 'let detachTabThresholdY = window.screenY + rect.top + 1.5 * rect.height;', 'let detachTabThresholdX = window.screenX + rect.left + rect.width + 100;' ).replace( 'if (eY < detachTabThresholdY && eY > window.screenY) {', 'if (eX < detachTabThresholdX && eX > window.screenX) {' ); gBrowser.tabContainer.on_dragend = new Function( func.match(/\(([^)]*)/)[1], func.replace(/[^{]*\{/, '').replace(/}\s*$/, '') ); gBrowser.tabContainer.addEventListener('SSTabRestoring', ensureVisible, false); gBrowser.tabContainer.addEventListener('TabSelect', ensureVisible, false); function ensureVisible(event) { setTimeout(() => { let tab = gBrowser.selectedTab; let tabContainer = gBrowser.tabContainer; if ( tab.screenY + tab.getBoundingClientRect().height + 1 > tabContainer.screenY + tabContainer.getBoundingClientRect().height ) { tab.scrollIntoView(false); } else if ( tab.screenY < tabContainer.screenY ) { tab.scrollIntoView(true); } }, gReduceMotion ? 0 : 150); } // check width only while dragging of splitter const resizeObserver = new ResizeObserver(entries => { for (let entry of entries) { if(entry.contentBoxSize) { ensureVisible(); if (vtbSplitter.getAttribute("state") == "dragging" || SidebarUI._splitter.getAttribute("state") == "dragging") { let width = vtbTabsToolbar.getBoundingClientRect().width; if (verticalTabbar_minWidth <= width) { sizeofToolbottun(); Services.prefs.setIntPref("ucjs.tabWidth", width); } } } } }); resizeObserver.observe(vtbTabsToolbar); // adjust button size sizeofToolbottun(); function sizeofToolbottun() { let width = vtbTabsToolbar.getBoundingClientRect().width; let btn = document.querySelector("#new-tab-button .toolbarbutton-icon"); btn.style.setProperty("width", "auto", ""); btn.style.setProperty("padding", "6px " + (width - 16 - 4) / 2 + "px", ""); btn = document.querySelector("#alltabs-button .toolbarbutton-badge-stack"); btn.style.setProperty("padding", "6px " + (width - 16 - 4) / 2 + "px", ""); }; // dblclick splitter toggle tabbar vtbSplitter.addEventListener('dblclick', vtbSplitter_toggle, false); function vtbSplitter_toggle(event) { if (vtbSplitter.getAttribute("state") == "collapsed") vtbSplitter.setAttribute("state", "open"); else vtbSplitter.setAttribute("state", "collapsed"); } // adjust allTabsMenu to make including pinned tab func = gTabsPanel.init.toString(); func = func.replace( 'filterFn: tab => !tab.pinned && !tab.hidden,', 'filterFn: tab => !tab.hidden,' ); gTabsPanel.init = new Function( func.match(/\(([^)]*)/)[1], func.replace(/[^{]*\{/, '').replace(/}\s*$/, '') ); }Mfg.
Endor -
Ja hier leider auch.
Beim Kürzen, habe ich wohl etwas zu viel weggelassen....
Neuer CSS Code kommt.....
Mfg.
EndorSo hier nochmal der CSS Code, das Problem mit der Meldung
konnte ich leider nicht beheben.
CSS
Alles anzeigen@-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"), url-prefix("https://www.wetteronline.de/aktuelles-wetter"), url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_city_weather"), url-prefix("https://www.wetteronline.de/wetter-aktuell-toplisten"), url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_aktuell_local&pid=p_aktuell_local&sid=ColorMap"), url-prefix("https://www.wetteronline.de/wetter-aktuell-suche"){ #top, #searchbox, #favorites, #memberarea_wrapper, div._3Sb_2c:nth-child(12), #map-searchform, div.leaflet-top:nth-child(2), ._1KFpPt, div.leaflet-bottom:nth-child(4), #content-navigation, #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer, .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2), .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6), #footer, div.linewrapper:nth-child(5), #colormaps-teaser, #globalnavi-wrapper, #mapstepper, #dates, #subheader {display: none !important;} }Mfg.
Endor -
Hier nochmal der Code, jetzt auch für die oben gewünschte Seite:
CSS@-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"), url-prefix("https://www.wetteronline.de/aktuelles-wetter"), url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_city_weather"){ #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer, .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2), .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6), #footer, div.linewrapper:nth-child(5), #colormaps-teaser, #globalnavi-wrapper, #mapstepper, #dates {display: none !important;} }Wetteronline Seite hasse ich, die haben da allerhand Scripte die überprüfen was
nicht geladen wird, daher dann diese Meldung.
Muss mal sehen was ich weglassen kann, damit es doch noch funktioniert.
Edit: habe den CSS Code mal gekürzt, bitte testen.
Mfg.
Endor -
Ja. könnte ein Serverproblem von denen sein.
Ist hier auch so.
Mfg.
Endor -
Teste mal diesen CSS Code, hoffe ich habe da nicht zu viel ausgeblendet.
So müsste er aber sein, wenn ich den für loshombre, für seinen Wetterfuchs
mache:
CSS Code:
CSS@-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"), url-prefix("https://www.wetteronline.de/aktuelles-wetter"){ #top, #searchbox, #favorites, #memberarea_wrapper, #woBillboard, div._3Sb_2c:nth-child(12), #map-searchform, div.leaflet-top:nth-child(2), ._1KFpPt, div.leaflet-bottom:nth-child(4), #content-navigation, #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer, .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2), .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6), #footer {display: none !important;} }Mfg.
Endor
-
Also ich blende was geht per CSS aus.
Ich versuche immer unabhängig von Werbeblockern zu sein.
Was genau soll alles bei Wetteronline.de weg?
Mfg.
Endor -
Hallo Boersenfeger.
Du hast recht, den haben wir schon:
RE: About Seiten mit CSS Codes anpassen
wirdwurde oben wieder entfernt.Danke!
Mfg.
Endor -
Hätte da mal wieder Nachschub:
about:neterror
CSS Code:
CSS
Alles anzeigen@-moz-document url-prefix(about:neterror){ html{background:#ffffff !important;} body[class="illustrated malformedURI neterror"], body[class="illustrated connectionFailure neterror"], body[class="illustrated netTimeout neterror"], body[class="illustrated dnsNotFound neterror"], body[class="neterror"]{ justify-content: center!important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; min-height: 90vh !important; max-height: 90vh !important; margin-top: 30px !important; margin-bottom: 20px !important; padding-bottom: 20px !important; padding-top: 15px !important; padding-left: 50px !important; padding-right: 50px !important; background: #fffff0 !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-radius: 20px !important; border-width: 4px !important; border-style: outset !important;} #errorLongDesc{min-width: 580px !important;} html body.neterror div#errorPageContainer.container div#text-container div.title { background-image: url("chrome://global/skin/icons/info.svg"); fill: #0060df !important;} html body.neterror div#errorPageContainer.container div#text-container div.title h1.title-text{ color: #cc0000 !important; font-size: 33px !important; font-weight: bold !important;} #errorLongDesc > strong:nth-child(1), html body.neterror div#errorPageContainer.container div#text-container div#errorLongContent div#errorLongDesc p{ color: #1a75ff !important; font-weight: bold !important; font-size: 17px !important;} button.try-again:nth-child(1){ min-width: 220px !important; background: #0060df url("..//icons/reload.png") no-repeat !important; padding-bottom: 10px !important; padding-top: 9px !important; padding-left: 40px !important; background-position:16px 10px!important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-style: outset !important; border-radius:22px!important;} button.try-again:nth-child(1):hover{ background: #003eaa url("..//icons/reload.png") no-repeat !important; background-position:16px 10px!important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-style: outset !important; border-radius:22px!important;} }Symbol:

about:restartrequired
CSS Code:
CSS
Alles anzeigen@-moz-document url-prefix(about:restartrequired){ html{background: #ffffff !important;} #errorPageContainer:before {content: "Endors Neustart"; margin-left: 274px !important; font-size: 20px!important; font-weight: bold!important; color: red!important;} h1{ color: #cc0000 !important; font-size: 24px !important; font-weight: bold !important; min-height: 50px !important;} body{ margin-left: auto !important; margin-right: auto !important; justify-content: center!important; align-items: center!important; max-width: 1100px !important; min-height: 650px !important; max-height: 700px !important; background-color: #fffff0 !important; margin-top: 40px !important; padding-top: 20px !important; padding-left: 25px !important; padding-right: 25px !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-radius: 20px !important; border-width: 4px !important; border-style: outset !important;} #restart { -moz-appearance: none !important; background: #0060df url("..//icons/application_go.png") no-repeat !important; background-position:18px 10px!important; min-width: 215px!important; padding-left: 40px!important; padding-top: 8px !important; padding-bottom: 8px !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-style: outset !important; border-radius:30px!important;} #restart:hover{ background: #003eaa url("..//icons/application_go.png") no-repeat !important; background-position:18px 10px!important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-style: outset !important; border-radius:30px!important;} }Symbol:

Mfg.
Endor -
Hallo Sören Hentzschel .
Vielen Dank für die Info.
Weißt Du eventuell warum zur Zeit nur Benutzer aus USA da „Teilnehmen“ können?
Mfg.
Endor -
wollte ich noch auf die Seite about:pioneer hinweisen
In Firefox 81 ist About:pioneer nur für User aus USA verfügbar,
in der aktuellen Beta und im Nightly wurde About:pioneer
anscheinend entfernt.
Wenn ja, warum eigentlich?
Mfg.
Endor -
-
aborix hat dieses Script dazu gemacht:
Code
Alles anzeigen// ==UserScript== // @name newtabfromhistory.uc.js // @namespace https://www.camp-firefox.de/forum/viewtopic.php?p=1090093#p1090093 // @description Links aus Chronik in neuem Tab öffnen // @author aborix // @compatibility 62+ // @version 0.0.2a // ==/UserScript== (function() { if (location != 'chrome://browser/content/browser.xhtml') return; eval('PlacesUIUtils.openNodeWithEvent = ' + PlacesUIUtils.openNodeWithEvent.toString() .replace(' && PlacesUtils.nodeIsBookmark(aNode)', '') .replace('getBrowserWindow(window)', '(window && window.document.documentElement.getAttribute("windowtype") == "navigator:browser") ? window : BrowserWindowTracker.getTopWindow()') ); 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() + ')()'); })();Quelle:
https://www.camp-firefox.de/forum/viewtopi…090093#p1090093
Mit obigem Script, öffnet sich bei klick auf Url in der Chronik diese in einem neuen Tab.
Mfg.
Endor -
Hier Deine Version, nun müsste sie funktionieren:
Code
Alles anzeigen// RestartFirefoxButtonM.uc.js // v. 0.3 (function() { if (location !=AppConstants.BROWSER_CHROME_URL) return; try { CustomizableUI.createWidget({ id: 'restart-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'restart-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'Neustart', tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)', onclick: 'if (event.button == 1 || event.button == 2) { \ event.preventDefault(); \ Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \ invalidateCachesOnRestart(); \ }; \ BrowserUtils.restartApplication();' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; })(); /* Hamburger Menu */ (function() { var menuitem = document.createXULElement('toolbarbutton'); menuitem.id = 'uc_menu_Restart_H'; menuitem.classList.add('subviewbutton', 'subviewbutton-iconic'); menuitem.setAttribute('label' , 'Neustart'); menuitem.setAttribute('tooltiptext' , 'Neustart'); menuitem.style.listStyleImage= 'url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" fill-opacity="context-fill-opacity" d="M15,1a1,1,0,0,0-1,1V4.418A6.995,6.995,0,1,0,8,15a6.954,6.954,0,0,0,4.95-2.05,1,1,0,0,0-1.414-1.414A5.019,5.019,0,1,1,12.549,6H10a1,1,0,0,0,0,2h5a1,1,0,0,0,1-1V2A1,1,0,0,0,15,1Z"/></svg>\')'; menuitem.setAttribute('oncommand' , "Services.appinfo.invalidateCachesOnRestart() || BrowserUtils.restartApplication();"); var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button'); refItem.parentNode.insertBefore(menuitem, refItem); })();Mfg.
Endor -
Das wäre das Script aus dem ersten Beitrag mit Änderung von aborix:
Code
Alles anzeigen//RestartFirefox.uc.js //v. 0.4 /* File Menu */ (function() { var menuitem = document.createXULElement('menuitem'); menuitem.id = 'uc_menu_Restart'; // menuitem.setAttribute('label' , 'Neustart'); menuitem.setAttribute('label' , 'Neustart '); // 1 Blank mehr hinter Neustart -> Icon vor Neustart weg menuitem.setAttribute('oncommand' , "Services.appinfo.invalidateCachesOnRestart() || BrowserUtils.restartApplication();"); var refItem = document.getElementById('menu_FileQuitItem'); refItem.parentNode.insertBefore(menuitem, refItem); })(); /* Hamburger Menu */ (function() { var menuitem = document.createXULElement('toolbarbutton'); menuitem.id = 'uc_menu_Restart_H'; menuitem.classList.add('subviewbutton', 'subviewbutton-iconic'); menuitem.setAttribute('label' , 'Neustart'); menuitem.setAttribute('tooltiptext' , 'Neustart'); menuitem.style.listStyleImage= 'url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" fill-opacity="context-fill-opacity" d="M15,1a1,1,0,0,0-1,1V4.418A6.995,6.995,0,1,0,8,15a6.954,6.954,0,0,0,4.95-2.05,1,1,0,0,0-1.414-1.414A5.019,5.019,0,1,1,12.549,6H10a1,1,0,0,0,0,2h5a1,1,0,0,0,1-1V2A1,1,0,0,0,15,1Z"/></svg>\')'; menuitem.setAttribute('oncommand' , "Services.appinfo.invalidateCachesOnRestart() || BrowserUtils.restartApplication();"); var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button'); refItem.parentNode.insertBefore(menuitem, refItem); })(); /* Button */ (function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'restart-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'restart-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'Neustart', tooltiptext: 'Linksklick: userChrome.js Cache löschen - Mittelklick: Normaler Neustart', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)', onclick: 'if (event.button == 0) { \ event.preventDefault(); \ Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime). \ invalidateCachesOnRestart(); \ BrowserUtils.restartApplication(); \ } else { \ if (event.button == 1) { \ BrowserUtils.restartApplication(); \ } else { \ return; \ } \ };' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; })();sollte wieder funktionieren.
Mfg.
Endor -
Im Profilordner befindet sich die Datei compatibility.ini, lösche diese Datei
bei denen die du nicht starten kannst. Oder benenne sie um wenn Dir das lieber ist.
Danach müsste Firefox sich starten lassen. Die Datei wird dann wieder automatisch neu erstellt.
Mfg.
Endor -
Hallo aborix
Vielen Dank für Deine Hilfe.
Passt wie immer perfekt.
Funktioniert wieder einwandfrei.
:klasse:
Mfg.
Endor -
Hallo Abendstern2010
Macht doch nichts, Du hast es doch nur gut gemeint.
Hätte ja sein können, dass es uns weiterhilft.
Mfg.
Endor
-
-
Ja die beiden funktionieren.
Mfg.
Endor