Beiträge von lenny2
-
-
Offensichtlich nutzt MozCorp sein Produkt nicht auf Android, sonst hätten sie schon längst erkannt, dass die Option "Paste and Go" viel praktischer ist als "Paste link from clipboard".
-
Es gibt einen Unterschied: Ohne das Skript wird das Image im Hintergrund geöffnet, mit dem Skript in der aktiven Tab.
-
Bitte mal testen:
Super!
Das Skript wird doch gar nicht benötigt
Ich habe das "native" Inline-Element von Firefox nicht, vielleicht habe ich es irgendwann einmal mit css versteckt?
-
Dieses Skript legt einen Kontextmenüeintrag „Grafik anzeigen“
Es ist nicht sehr angenehm, ein Bild in der gleichen Registerkarte zu öffnen oder Strg zu drücken, um es in einer neuen Registerkarte zu öffnen. Das Skript muss so geändert werden, dass das Bild ohne zusätzliche Aktionen in einer neuen Registerkarte geöffnet wird.
-
Ein weiteres Skript, das in Firefox v127 und v115 funktioniert. Die ursprüngliche Quelle ist unbekannt.
JavaScript
Alles anzeigen// Open_History_in_New_Tab.js (async sel => { var trees = ["places", "historySidebar"]; var url = "resource://gre/modules/BrowserUtils.jsm"; var bu = ChromeUtils.import(url).BrowserUtils, {whereToOpenLink} = bu; bu.whereToOpenLink = function(e) { var res = whereToOpenLink.apply(bu, arguments); if (res != "current" || !Event.isInstance(e)) return res; try { var skip = true, trg = e.composedTarget, win = trg.ownerGlobal; var name = win.document.documentURIObject .QueryInterface(Ci.nsIURL).fileName.slice(0, -6); if (name == "browser") skip = win.gBrowser.selectedTab.isEmpty || !trg.closest(sel); else if (trees.includes(name)) skip = (win.opener || win.windowRoot.ownerGlobal).gBrowser.selectedTab.isEmpty || trg.closest("tree").selectedNode.itemId != -1; return skip ? res : "tab"; } catch {return res;} } })("#historyMenuPopup,#PanelUI-history");
Ist es möglich, solchen Skripten die Optionen "im Fokus öffnen" und "im Hintergrund öffnen" hinzuzufügen?
-
Teste bitte mal:
Und dieser dann in die userChrome.css:
Danke, beide Codes funktionieren
Dazu muss dieser Code in die shadow-css:
Ich habe die Datei shadow.css nicht verstanden, ich habe shadow.css im Chrome-Ordner erstellt, aber ich sehe, dass sie keine Wirkung hat.
-
Die Tab-Tooltips aus den Beiträgen #9, #12 funktionieren in FF v126.0 nicht mehr. Große Bitte, dies zu beheben.
-
In v126 wurde eine neue Telemetrie-Sammlung hinzugefügt. Deaktivieren browser.search.serpEventTelemetryCategorization.enabled = false
-
Mit Fx 126.0 funktionierte bei mir das Skript browsertoolbox.uc.js nicht mehr richtig.
Dieses Skript funktioniert noch in v126.0 RE: Script-Button verschiebbar machen
-
Ich kann nur ein völlig anderes Skript geben.
Wenn du/jemand testen möchte:
Vielen Dank, super!
Wie kann ich einen relativen Pfad zu einem Symbol anstelle eines direkten Pfades angeben?
-
Könnt Ihr ja mal probieren;
Die Taste funktioniert. Da es sich um eine button mit zwei Positionen handelt, wäre es gut, wenn die Position der Taste angegeben würde, z. B. T und ein diagonal gekreuztes
T -
madmax25 Diese Informationen könnten für Sie nützlich sein.
F7 - zeigt/versteckt den Textcursor im Seiteninhalt.Breite des Textcursors: in about:config den Parameter ui.caretWidth anlegen und auf 2 setzen (für caret width = 2px)
-
der Fokus liegt auf der Synchronisation und welche Ordner/Dateien nicht benötigt werden für ein funktionierendes Profil.
Ich hoffe, dies hilft Ihnen, sich zu orientieren.
Die folgenden Ordner und Dateien sind im Skript zur Profilsicherung (Windows) ausgeschlossen:Zitatvar excludes = '*cache* chrome_debugger_profile crashes datareporting fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *Temp* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite *permanent Folder*';
.bat, um das Profil von „Müll“ zu befreien, löscht solche Ordner und Dateien:
Zitatif exist LocalAppData\Temp rmdir /s /q LocalAppData\Temp
if exist "AppData\Mozilla\Firefox\Crash Reports" rmdir /s /q "AppData\Mozilla\Firefox\Crash Reports"
if exist Cache2 rmdir /s /q Cache2
if exist chrome_debugger_profile rmdir /s /q chrome_debugger_profile
if exist jumpListCache rmdir /s /q jumpListCache
if exist browser-extension-data rmdir /s /q browser-extension-data
if exist extensions\staged rmdir /s /q extensions\staged
if exist crashes rmdir /s /q crashes
if exist datareporting rmdir /s /q datareporting
if exist safebrowsing rmdir /s /q safebrowsing
if exist saved-telemetry-pings rmdir /s /q saved-telemetry-pings
if exist startupCache rmdir /s /q startupCache
if exist minidumps rmdir /s /q minidumps -
Vergleichbar zu dem hier: https://freefilesync.org/
Die Version mit Installation ist kostenlos, während die FreeFileSync Donation Edition eine portable Installationsoption und ein paar andere zusätzliche Optionen bietet. Ein Link zur Distributive wird nach einer Donation von 1€ oder mehr zur Verfügung gestellt.
-
Alternativ für das Kontextmenü:
Ich verwende dies in meinem zweiten Browser, mit Korrekturen von Sören Hentzschel für einen flüssigen Bildlauf.
-
Das GreaseMonkey-Skript platziert seine beiden Schaltflächen auf der Seite, um die Seite so weit wie möglich nach oben und unten zu scrollen. Die X-Y-Position der Schaltflächen und die Transparenz sind anpassbar.
Code
Alles anzeigen// ==UserScript== // @name Scroll Up and Down // @description Top and Down buttons // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFklEQVQ4jZWSzU8TQRjGn+5uv+nWspQiBEWjHvZAtOJJb5pY08TEsNGoHDh4kD+CbIx/hBfvaAzxaigePGAwEo2YgKmmHwH6ZYG2rt0tnXfGA0kjpK1xjjO/5zfPOxmgz4qZ4YmoqZ7rx7i67ppQTge1Z/rk+CMBgc31ref533tzeAJ2HJW7hgPawvXE5Mz4mSGEtSDCWiD+q9DUG1ed13gH3ltwePPCzeRFYyimgjgHI4LHpyA0GNCbBVtvXDsqkY+HbyXjRjSmwi38cMjpSNw+GQMRv+6UWkck8t/hRDJuDMdUDLrGEG2eRwk5MCLUa01IbgmyV0bwhFdn1XZnHBkALtyJvUzevmxEtAFo0hi+vN+2anbDQ2ELRIRcuozyTt1SowGP5JUQ1Pw67XG9sWS/kkZMderSlbNGIORFBKNYXy1YS59TCSEEGBEY5+BCYDtdTmS+lhzOOdx+GdGJkDFiqlOSgKtq7wt2Stax+anI3qyljKJprXQEROBCoGhaK8Xc/szO911GnKPVZEzAVXUBwPDT8A2fV552WrRYma8vA8Dc24fCGt0CI0Jmo4wPd390WLfbNd1ui8XKfH25+0cC8Dj1QNRO5sGIkP9Wwcd7ma6s0kvAhUCbscM34KIX1k/AcUAEIgIJ3gv7dwPiHNSngdTrIFvKrjqtA7TabVi79tp/N9jIpu/7fiqziiLBqdkvenF/AGL4Geu44wxZAAAAAElFTkSuQmCC // ==/UserScript== // [1] skip all iframe if (window.self!=window.top) { return ; } // create element function ce(n) { return document.createElement(n); } // end of function // add style function addStyle(css) { var head = document.head || document.getElementsByTagName('head')[0]; if (head) { var style = ce("style"); style.type = "text/css"; style.appendChild(document.createTextNode(css)); head.appendChild(style); } // end if } // end of function // global variables var position, // figure out if this is moz || IE because they use documentElement el = (navigator.userAgent.indexOf('Firefox') != -1 || navigator.userAgent.indexOf('MSIE') != -1) ? document.documentElement : document.body, // timer t1, t2, // speed by speed_by_click = 200, // edit this value speed_by_over = 10, // edit this value // z-index zIindex = 1001; // edit this value // move up function move_up() { position = document.documentElement.scrollTop || document.body.scrollTop; window.scrollTo(0, position-0); t1 = setTimeout(move_up, speed_by_over); } // end of function // move downn function move_dn() { position = document.documentElement.scrollTop || document.body.scrollTop; window.scrollTo(0, position+0); t2 = setTimeout(move_dn, speed_by_over); } // end of function // document height function getDocumentHeight() { return (document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight; } // end of function // document scroll function get_scroll(a) { var d = document, b = d.body, e = d.documentElement, c = "client" + a, f = "scroll" + a; return /CSS/.test(d.compatMode)? (e[c]< e[f]) : (b[c]< b[f]); } // end of function // calk function scrollTo(element, to, duration) { var //start = element.scrollTop, start = document.documentElement.scrollTop || document.body.scrollTop, change = to - start, currentTime = 0, increment = 20, newDuration = (typeof(duration) === 'undefined') ? 6000: duration; var animateScroll = function(){ currentTime += increment; var val = Math.easeInOutQuad(currentTime, start, change, newDuration); //element.scrollTop = val; window.scrollTo(0, val); if(currentTime < newDuration) { setTimeout(animateScroll, increment); } }; animateScroll(); } // end of function //t = current time //b = start value //c = change in value //d = duration Math.easeInOutQuad = function (t, b, c, d) { t /= d/2; if (t < 1) return c/2*t*t + b; t--; return -c/2 * (t*(t-2) - 1) + b; }; // add css function shareCSS(){ // variables var s='', img_up, img_dn; // img vs button img_up = 'data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB+SURBVDhPY1i1atV/amAGahgCMoNhaIGlS5cKAp19BoRBbLJcj2QILDJINwzoAmMgfoclIkBixkS5DI8hMJcRNgxoSBoOl6CnNZBhaVhdBjWE1MSJahjQkA4KEmYH2GUrV66cSYEhYB+AzKBtFiHkQqKiH6Ro1CDCQTWgYQQAs81DU0G/83sAAAAASUVORK5CYII='; img_dn = 'data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACPSURBVDhPY2DAAlatWvUfH8amB6vYqEGEg2pgw4iQ7cTKM6xcuXImsYpxqQOZAQ4woIIOCgzrQAl1oEFpZBiWhitFgwx7R4SBIDXYDYGZDFRgTMAwkCHGhBMRJMxwGUa8ITCbli5dKgg08AySN8+AxIhyCboiJMPIN4Qsm6miiYioxltawvSDYogohYTUAQC80UNTOht/YwAAAABJRU5ErkJggg=='; // button id s+='#play_btn_up { position:fixed; right:50%; bottom:34%;z-index:'+zIindex+'; height:36px; width:36px; cursor:pointer; background:url('+img_up+') no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:5px 5px 5px 5px; margin-top:-24px; }'; s+='#play_btn_dn { position:fixed; right:50%; top:70%; z-index:'+zIindex+'; height:36px; width:36px; cursor:pointer; background:url('+img_dn+') no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:5px 5px 5px 5px; margin-top:-24px; }'; // button class s+='.play_btn { -webkit-transition-duration:0.5s linear; -o-transition-duration:0.5s linear; -moz-transition-duration:0.5s linear; transition-duration:0.5s linear; opacity:0.35; }'; s+='.play_btn:hover { opacity:1; }'; // append addStyle(''+s); } // end of function // main function create_btn_element() { // get scroll var up, dn, scrolled, h = get_scroll('Height'); // exit if(!h) { return; } // end if // add css shareCSS(); // if if(el){ // create DOM element up = ce('span'); dn = ce('span'); // set attribute up.setAttribute('id','play_btn_up'); dn.setAttribute('id','play_btn_dn'); // set class up.className = "play_btn"; dn.className = "play_btn"; // append element document.body.appendChild(up); document.body.appendChild(dn); // scroll scrolled = window.pageYOffset || document.documentElement.scrollTop; // if scroll up.style.display = (scrolled > 0) ? "" : "none"; // add event over up.addEventListener('mouseover', move_up, false); dn.addEventListener('mouseover', move_dn, false); // add event out up.addEventListener('mouseout', function(){clearTimeout(t1);},false); dn.addEventListener('mouseout', function(){clearTimeout(t2);},false); // add event click up.addEventListener('click', function(){ scrollTo(el, 0, speed_by_click); }, false); dn.addEventListener('click', function(){ scrollTo(el, getDocumentHeight(), speed_by_click); }, false); // add event scroll window.onscroll = function() { var scrolled = window.pageYOffset || document.documentElement.scrollTop, diffHeight = document.body.scrollHeight - window.innerHeight; // if scroll up up.style.display = (scrolled > 0) ? "" : "none"; // if scroll dn dn.style.display = (diffHeight > scrolled) ? "" : "none"; }; // end of function } // end if } // end of function // run it create_btn_element();
-
Teste bitte:
Wunderbar! Ich danke Ihnen vielmals!
P.S.
In Ihrem Beitrag wird der Code zweimal wiederholt. -
-
// remove the frequently used option
pref("browser.taskbar.lists.frequent.enabled", false);
// remove the tasks list
pref("browser.taskbar.lists.tasks.enabled", false);