Also ich habe den originalen Quelltext der Seite genommen, und die von mir konvertierte Amselvideodatei genommen und es funktioniert.
Beiträge von Zitronella
-
-
Interessant, ich sehe da aber keinen Fehler. Mags du mir mehr dazu verraten
nicht wirklich. Es muss ja nicht unbedingt ein Fehler sein, aber Browser können nicht alles abspielen was zb. ein VLC Player abspielen kann wenn entsprechende Codecs fehlen. Ich hab sie wie gesagt mal umconvertiert und hier kannst du sie laden.
https://mozhelp.ddnss.de/dateien/forum/GebbyVideos.zip Denke bitte daran, dass du sie entsprechend änderst, denn sie heißen jetzt alle .mp4 und nicht teilweise .ogg.
Übrigens, man kann einfach testen indem man die Video/Audio Datei in den Browser zieht per Drag&Drop, dann sieht man auch ohne Webseite ob sie im Browser richtig laufen
-
-
-
Eine Möglichkeit wäre dass du unter Einstellungen -> Datenschutz & Sicherheit -> Chronik -> "Immer den Privaten Modus verwenden" den Haken drin hast. Dann werden die Erweiterungen auch unter dem Puzzle Icon nicht aufgelistet wenn nicht explizit in deren Einstellungen für "In privaten Fenstern ausführen" angehakt ist.
Edit: Sören kam mir zuvor
-
Weil Du eine Javascript-Datei geöffnet hattest,
ja, das wurde mir dann auch bewusst. Danke für die Erklärung.
-
ah danke, das hatte ich sogar gemacht gehabt, aber da ich gewohnt war, dass alles Auskommentierte in Notepad++ sich in grün verwandelt und dies in diesem Fall nicht so war, dachte ich es wäre falsch und habs erst gar nicht getestet. Danke. Es funktioniert.
-
evtl. auch hierfür eine Lösung?
Teste doch bitte mal:
JavaScript
Alles anzeigen// ==UserScript== // @name UndoListInTabmenuToo // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description UndoListInTabmenuToo.uc.js // @include main // @compatibility Firefox 135 // @author Alice0775 // @version 2025/01/15 fix bug by Mira Bellenbaum (Tooltips deleted because incorrect) // @version 2025/01/05 remove redundant menuitems // @version 2025/01/05 fix bug // @version 2024/12/22 fix Bug 1936336 - Disallow inline event handlers // @version 2024/08/23 Bug 1690613 - Allow access to url/title/favIconUrl without "tabs" permission in session API // @version 2023/06/16 08:00 Bug 1819675 - Expand recently closed tabs to include all Windows // @version 2022/05/10 fix ref to context-media-eme-separator // @version 2021/12/09 remove JSON.parse (Bug 1733425) // @version 2021/04/25 fix 1689378 // @version 2019/11/14 remove eval // @version 2019/06/30 10:00 Bug 1555060 Convert <tabs> to a custom element // @version 2019/06/24 23:00 wait for gBrowser initialized // @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement // @version 2018/05/10 60 // @version 2017/11/18 nsIPrefBranch to nsIPrefBranch // @version 2010/09/18 00:00 4.0b7pre // @version 2009/02/03 13:00 Tab-Verlauf im Tooltip anzeigen // @Note Fügt die UndoClose-Tab-Liste zu Tabs und Kontextmenüs hinzu // @OriginalCode Orginalcode aus browser.js für populateUndoSubmenu verwendet // @version 2018/05/09 15:00 61 // ==/UserScript== // @version 2010/03/26 13:00 Minefield/3.7a4pre Bug 554991 - allow tab context menu to be modified by normal XUL overlays // @version 2010/03/15 00:00 Minefield/3.7a4pre Bug 347930 - Tab strip should be a toolbar instead // @version 2009/09/09 15:00 Mittelklick-Handhabung // @version 2009/09/03 22:00 Firefox3.7a1pre Funktion wurde wieder hergestellt.(Bug 489925. getElementById should not return anonymous nodes) // @version 2009/08/22 00:00 Firefox3.6 Ändern des stringbandle // @version 2009/04/24 00:00 #394759 [Firefox:Session Restore]-Add undo close window feature // @version 2008/10/12 18:00 Fx3.0.4pre Mittelklick-Popupmenü wurde nicht geschlossen und andere Korrekturen // @version 2007/10/05 10:00 var UndoListInTabmenu = { // -- config -- TABCONTEXTMENU : true , //Im Tabkontextmenü: anzeigen: true, nicht anzeigen: false CONTEXTMENU : true , //Im Hauptkontextmenü: anzeigen: true , nicht anzeigen: false // -- config end-- ss: null, get tabContext() { return document.getElementById("tabContextMenu"); }, get navigatorBundle() { return Services.strings.createBundle( "chrome://browser/locale/browser.properties" ); }, init: function(){ if (location != 'chrome://browser/content/browser.xhtml') return; var css =` #tabContextUndoList :is(menu,menuitem), #ContextUndoList :is(menu,menuitem) { min-height: 20px !important; padding-top: 0 !important; padding-bottom: 0 !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); if (this.TABCONTEXTMENU){ //Tabkontextmenü var tabContext = this.tabContext; this.makePopup(tabContext, null, "tabContextUndoList"); } // if (this.CONTEXTMENU){ // //Hauptkontextmenü // var contextMenu = document.getElementById("contentAreaContextMenu"); // var refItem = document.getElementById("context-media-eme-separator"); // this.makePopup(contextMenu, refItem, "ContextUndoList"); // } // Geschlossene Tabs dem NS-Sitzungsspeicher entnehmen this._ss = SessionStore; }, makePopup: function(popup, refItem, id){ if (location.href !== "chrome://browser/content/browser.xhtml") return; var menu; //label const locale = "de"; // "Liste Kürzlich geschlossener Fenster" menu = document.createXULElement("menu"); menu.setAttribute("id", "historyUndoWindowMenu3"); menu.setAttribute("label", "K\u00FCrzlich geschlossene Fenster"); menu.setAttribute("accesskey", "F"); menu.setAttribute("disabled", "false"); popup.insertBefore(menu, refItem); menupopup = document.createXULElement("menupopup"); menu.appendChild(menupopup); menupopup.setAttribute("id", "historyUndoWindowPopup3"); //menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu(this);"); menupopup.addEventListener("popupshowing", (event) => UndoListInTabmenu.populateUndoWindowSubmenu(event.currentTarget)); //Liste kürzlich geschosener Tabs const LABELTEXT = "K\u00FCrzlich geschlossene Tabs"; //create menu menu = document.createXULElement("menu"); menu.setAttribute("label", LABELTEXT); menu.setAttribute("accesskey", "K"); if (id) menu.setAttribute("id", id); //menu.setAttribute("disabled", true); var menupopup = document.createXULElement("menupopup"); menupopup.addEventListener("popupshowing", () => UndoListInTabmenu.populateUndoSubmenu(menupopup)); //menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);"); menu.appendChild(menupopup); popup.insertBefore(menu, refItem); //Eventlistener hinzufügen popup.addEventListener('popupshowing', () => { /* UndoListInTabmenu.toggleRecentlyClosedWindows(document.getElementById("historyUndoWindowMenu3")); */ // no restorable tabs, so make sure menu is disabled, and return if (UndoListInTabmenu._ss.getClosedTabCount(window) == 0) { menu.setAttribute("disabled", true); //menu.setAttribute("hidden", true); return; } menu.removeAttribute("disabled"); //menu.setAttribute("hidden", false); },false); }, /** * Befüllen, wenn das Chronik-Menü geöffnet ist (Fx3.6) */ populateUndoSubmenu: function(undoPopup) { if (location.href !== "chrome://browser/content/browser.xhtml") return; while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } var utils = RecentlyClosedTabsAndWindowsMenuUtils; var tabsFragment = utils.getTabsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-tabs" ); undoPopup.appendChild(tabsFragment); // "Append Clear undo close tb list" undoPopup.appendChild(document.createXULElement("menuseparator")); let m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der geschlossenen Tabs löschen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", () => { let prefs = Services.prefs; let max_undo = prefs.getIntPref("browser.sessionstore.max_tabs_undo"); prefs.setIntPref("browser.sessionstore.max_tabs_undo", 0); prefs.setIntPref("browser.sessionstore.max_tabs_undo", max_undo); }, false); }, /** * Populate when the history menu is opened */ populateUndoWindowSubmenu: function PHM_populateUndoWindowSubmenu(undoPopup) { if (location.href !== "chrome://browser/content/browser.xhtml") return; while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } let utils = RecentlyClosedTabsAndWindowsMenuUtils; let windowsFragment = utils.getWindowsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-windows" ); undoPopup.appendChild(windowsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); // "Append Clear undo close window list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der geschlossenen Fenster l\u00F6schen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", () => { for (let i = SessionStore.getClosedWindowCount() -1; i >= 0; i--) SessionStore.forgetClosedWindow(i); }, false); } }; // Wir sollten die Weiterleitung nur starten, wenn das Browserfenster den Startprozess abgeschlossen hat // Ansonsten sollten wir warten, bis der Start abgeschlossen ist. if (gBrowserInit.delayedStartupFinished) { UndoListInTabmenu.init(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); UndoListInTabmenu.init(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); }
Wie schon gesagt, das Skript funktioniert, allerdings gefallen mir die Zeilenabstände nicht und dafür ist wohl Zeile 60-63 (inklusive der davor geöffneten { in Zeile 59) verantwortlich. Wenn ich den Teil lösche ist es so wie ich es haben möchte. Allerdings würde ich es statt löschen lieber auskommentieren, nur bin ich leider zu doof dazu das richtig hin zu bekommen. Kann mir das jemand sagen wie ich das korrekt mache?
-
-
Danke. Mich wundert nur, dass andere Browser wie Edge und Opera (andere hab ich nicht getestet) dieses Verhalten nicht aufweisen. Aber das mag an meiner Unwissenheit, wie Firefox aufgebaut ist, liegen.
-
Sehr schade, dass dies nach über 5 Jahren immer noch nicht in Firefox gefixt wurde. Beispiel https://mozhelp.ddnss.de/dateien/wl/
-
Bei dir stand etwas von Weiterleitungen.
ja, weil es teils auch Weiterleitungen blockiert auf andere Seiten siehe Beispiel 2 und 3 in diesem Post.
-
Das Skript für accessibility.blockautorefresh könnte nach diesem Vorbild angepasst werden.
ja, so machte ich das.
-
Mira_Belle Dankeschön, ich habe allerdings schon ein Skript für Deepl, welches ich gestern nach euren Posts entsprechend angepasst habe
-
Vielen Dank Horstmann und Mira_Belle ein Skript hatte ich sogar wieder gelöscht, da ich zwischenzeitlich eine Lösung hier im Forum fand. Aber da hat Horstmann wohl zeitgleich gepostet gehabt. Auf jeden Fall konnte ich jetzt auch meine anderen Skripte anpassen, da ja quasi nur eine Zeile auskommentiert und durch eine andere ersetzt werden musste.
Warum werden, bzw. sind in den Skripten keine Header vorhanden?
kann ich dir gar nicht genau sagen. Wahrscheinlich weil sie so nach und nach entstanden sind und ich teils irgendwann andere about:config Einträge dazu genommen habe für eigene Skripte.
-
okay, ich hoffe jemand findet noch ne Lösung. Derweil schreibe ich hier mal noch welche rein, die nicht mehr funktionieren:
JavaScript
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'accessibility-blockautorefresh-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var attributes = { id: 'accessibility-blockautorefresh-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'accessibility.blockautorefresh', tooltiptext: Services.prefs.getBoolPref('accessibility.blockautorefresh') ? 'Weiterleitung ist deaktiviert' : 'Weiterleitung ist aktiviert', oncommand: '(' + onCommand.toString() + ')()' }; for (var a in attributes) { button.setAttribute(a, attributes[a]); }; function onCommand() { var isEnabled = !Services.prefs.getBoolPref('accessibility.blockautorefresh'); Services.prefs.setBoolPref('accessibility.blockautorefresh', isEnabled); var windows = Services.wm.getEnumerator('navigator:browser'); while (windows.hasMoreElements()) { let button = windows.getNext().document.getElementById('accessibility-blockautorefresh-button'); if (isEnabled) button.setAttribute('tooltiptext', 'Weiterleitung ist deaktiviert') else button.setAttribute('tooltiptext', 'Weiterleitung ist aktiviert'); }; }; return button; } }); } catch(e) { }; var css = '#accessibility-blockautorefresh-button[tooltiptext="Weiterleitung ist aktiviert"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACdklEQVR4nJVSW0iUQRj9Zvd3V3d/3VbR8LJJkraCmZobqQViEF0t3DakBzMTKXvqQQgMpB56jC5kN6nMyjJ0wS4YFCUhKBvUGhQmGhopXiqytZ3559ZD/bK6RnVeZuYbzvnmO2cA/oA1+bnGP92FwrBY8dTFo1WbS9fX/osACj2szslCh+rKjuUUOY73+0YffJ76/kRKAZRxPvnp22B/34fuF909ZFGBwg1rlYN1O86vWBVfwwQFJigwySB0/2VydrjXO17VdPZOd9gI2XkrCxwZtgrCMRCO5cI1SH+AMYYuz92t3t+7352r8+aMetnXP2pVEl6lONVt0siiqNCkxogkHEvCMMIcI8wwokDMyMSXBT5GtE5MTEgldJ7G082PAoE9mzbuS/X6n07dfNs7fplxDtboyKg8T8wlSworpFxDpiRaZLfbbQDwdZ4AAMCNpjYfwWXFqs3s7Op6PKzX1SXuGpNNrhMSISkULoQgcyZW15ZnFRRnVnEpQEgGPV3DZ1qut47o5JNXDje8fjZ2re22d3RhQwUAgGCqZrqWHtHdlgrLsCdVXCAEc2REEOtQtpYcSK6MiHSX3rra/iYsxvz8vIj6c553apySxiRDTFDJBEVMUEm5hjSuSY1rKDCDp/0ds57mxvbn81IYGxsXcTHJA6nZ0R4OmqIJDWmcAGYYEYYBsyDCDAM1EIslkW2JDqa1vB8YnJ0Xo6/XP6Qak/ossYYco5Um/I7tV4QMS8yCaGZamxzqVCo77nb6w36iDpfLZUpMiU+32syJEqQBIQSOEnZCIB4/8tBcfq/V61vI+SuqG7bX73LvTP9vog5npjPspTp+Ah8eSZ/sO5KDAAAAAElFTkSuQmCC)} ' + '#accessibility-blockautorefresh-button[tooltiptext="Weiterleitung ist deaktiviert"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACd0lEQVR4nJVSW0hUURTd585LTRMdk1F0akJtKiMfjVl9mBGhI1nUGFEQ4oeIPz0++qhA7NeP6CPKogIVplDR3iMUjWSB+BE9IMQHKtHMWD5SvHfuvWef3Y8j6ijV+jnn7MNa+5y1NsA6KMrLNax3txzSWsWWC8dqTu7Nqf8XAbb8ULAzhzW4ndcO27TGviA8D8n0GgQCFwLH5mHo3fhC79v3/eqaAiV7dhkbj9hvFSWptcR1ANQAUIfInlCHQNg0em/SXtPk7emN+oIrO33f7nj5HGkKgCYTaQqQphDoMpCuEuoIVqY66q1jz2o97vwIb8moD19HJig992Phht8VZhGOJV0lwTVCFMQRGBcS40JijMBikcA+SCneUChEKzwAAKirKnddzhzv6pyytb0JGu8iImyMNcfW24LNWcaF/SgYm0XT3KXhlC1+v3/GuFrgTvurAeWE+2CyBZy+npejkbr11NFaq0ErJmJMAKAQsrpk4nnPodyyrIQaEhxAIHR8j7n54FH3eITcXneg4Wko4WFrl29idUMjAECYU3yJVb5IqAFwHSyo5DjOlt7WVAUNkgTbTLPuKxnT1XGessrmDt+XqBhdBXkmb0XitzSTshW4zgg1AtQZISdEYigYoWBsmpt/NU9trrrx2OdfkcKPQFDE2XcMFsfPVBkwbCSuMcERODKmCwkWEwCJKM5hlMt/phW2Dg4NL6yIse/z8Iiekd9vMyh5iaClcpQYR4k4SkxfXAN6zOT9OUe1t/vFp6hJXBool8tsT03KTo6R0ghAYoyBJyF0nRFsapnPPN3W+WRgNeevaDpTetVzvDL7v4kRbHc6o14awR8IFzD9TbnyZAAAAABJRU5ErkJggg==)} '; var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"'); document.insertBefore(stylesheet, document.documentElement); })();
-
Cool vielen Dank. Funktioniert beides. Bist ja mal wieder rasend schnell.
Ich möchte kein neuen Post aufmachen, daher schreibe ich hier weiter, weil mir gerade auffiel dass noch andere Skripte nicht mehr funktionieren. Vielleicht gibts dafür auch ne Lösung?
JavaScript
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'quick-media-codec-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var attributes = { id: 'quick-media-codec-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'Quick Media Codec', tooltiptext: Services.prefs.getBoolPref('media.play-stand-alone') ? 'Quick Media Codec is playing' : 'Quick Media Codec is stopped', oncommand: '(' + onCommand.toString() + ')()' }; for (var a in attributes) { button.setAttribute(a, attributes[a]); }; function onCommand() { var isEnabled = !Services.prefs.getBoolPref('media.play-stand-alone'); Services.prefs.setBoolPref('media.play-stand-alone', isEnabled); var windows = Services.wm.getEnumerator('navigator:browser'); while (windows.hasMoreElements()) { let button = windows.getNext().document.getElementById('quick-media-codec-button'); if (isEnabled) button.setAttribute('tooltiptext', 'Quick Media Codec is playing') else button.setAttribute('tooltiptext', 'Quick Media Codec is stopped'); }; }; return button; } }); } catch(e) { }; var css = '#quick-media-codec-button[tooltiptext="Quick Media Codec is playing"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QgVCgMdA8c0JwAAAw1JREFUOMttk71LK3kYhZ/JTExGQswXuopfZC1uo+til8JGqxXELfJRWWhpsRYG8SqKippL/gUjbhUTuwXBJojmD/ALtsoqEi0yIZqQhFEmv5kt7kbYZU99nsOB874S/2hra4vt7W329vaClmWtWpY1aVlWEECSpAdJkq4kSfq2vr7+0PYCSABfv35lf3+fzc3NlBBioVKpEAgE8Hg8ANRqNcrlMn6/H1mWj3Z2dhbbjBSPx0kmk6ytrd1Uq9Wf+vv7mZ2dxe/3oygKlmVhGAaVSoWzszOKxSIej+f24OBgPB6Pf28Qj8dT1Wp1IRQKMTMzg9PpRFVVTNMEQAjBx8cH9Xqdi4sL8vk8Xq/3KJlMLkrLy8tBIcRfgUCApaUlOjs7UVWVdDpNNBrFZrNhWRZCCHRdp1arcXx8jKZpyLL8o63Vaq1qmkY4HMbpdNLR0QHA3d0dKysr3N7eIkkSiqKgqioul4u5uTk0TaPVaq3aDMOY7O3txePxYLfbsdlsALy9vVEqldjY2CCRSGCaJrIs43A48Hq99PX1YRjGpM0wjKDP58M0TSzLQpKkz4DX11eazSb5fJ75+Xmur6+x2+3Isozf78cwjKAihMCyLP6ry8tL6vU6qqoyNDSEqqqf4W0JIVBM03zQNO2LEIJ2mCRJeDwe3G43QgimpqZIJBLYbDbe398xTZNSqYRpmg+KaZpXj4+PX6rVKi6Xi46ODhRFobu7G7vdzu7uLqFQ6F9z1mo1CoUCPp/vSh4bG/tTUZTfXl5eGB8fR1EUHA4HxWKRw8NDBgcHP2Fd12k2m6RSKRqNBrIsR+T7+/u30dHRwaenp5/tdjsDAwMIIZienkYIgWmaGIaBrus0Gg3Oz8/J5XKoqnqUTqd/l2OxGCcnJ39MTEz8enNz88Pz8zPDw8OfdXVdR9d1yuUyqVSKXC5HV1fXbSaT+SUWi30/5Wg0SiaTIRKJpIQQC7VajZGREXp6egAolUoUCgXcbjeKohxls9nFNvO5SyQSIZvNEg6Hg8D/vjPw7fT09KHtBfgbw8eNC0eG6lMAAAAASUVORK5CYII=)} ' + '#quick-media-codec-button[tooltiptext="Quick Media Codec is stopped"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QgVCgI2tmD8JgAAAutJREFUOMttk71LK2kYxX+TmXxMMHFCIm78WCHX4jayu9hZ+AesIG5hDNhppTY2QVRQlKhcUltG3EoTuwXBJgj6D3hJaa4iKpKE6AwTjXF8593iXlN56nN4DuecR+EX1tfX2djYYGtrKyGlXJJSjkopEwCKolwpinKmKMq31dXVqw8ugAKwsrLC9vY2a2trOSHETL1eJxaLYRgGAJZlUavViEajqKq6t7m5OfuhUdLpNNlsluXl5QvTNP/o6+tjfHycaDSKpmlIKXEch3q9zvHxMbe3txiG8X1nZ+fPdDr900E6nc6ZpjkzMjLC2NgYuq6jaRoejwcAIQStVgvbtjk9PeX8/JxIJLKXzWZnlcXFxYQQ4kcsFmNhYQFd1wkGg3wG27axLIv9/X2q1Sqqqn7R3t/fl2q1GnNzcwQCAYLBIJlMhkajgWmaNJtNpJS0Wi3y+TxCCCYmJshkMnR1dS1pjuOMxuNxDMPA6/UC4Lour6+v2LZNo9Fo5wDg9/uJRCL09PTw8vIyqjmOk+jt7cV1XaSUANzf3/P29sbT0xOWZaGqKkIIAFRVRVVVotEolmUlNCFEW/iBUqnE4+MjDw8PSCmJx+N0dHTwaxNtnhACzXXdq2q1+lUI0b4SCoWQUuLxeJBSEg6H8fv9bZHrulQqFVzXvfK4rnt2fX2NaZq8vr4C4PP5CAQChEIhwuEwuq7j8/kAaLVaWJZFuVzGdd0zZXp6OuE4zo9EIsH8/DyGYRAKhT6tsdFoYNs2u7u7XF5e4vV6v6ilUulpaGjo95ubm7+8Xi/9/f3tQKWUuK6L4zg8Pz/TaDQ4OTmhWCyi6/rewcHBv2oqleLw8PC/4eHhfy4uLn67u7tjYGCgbbfZbNJsNqnVauRyOYrFIp2dnd/z+fzfqVTq55SnpqbI5/Mkk8mcEGLGsiwGBwfp7u4GoFKpUC6XCYfDaJq2VygUZj807U6SySSFQoHJyckE8Ok7A9+Ojo6uPrgA/wO0dY4EG2coXQAAAABJRU5ErkJggg==)} '; var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"'); document.insertBefore(stylesheet, document.documentElement); })();
und noch eines gefunden was nicht mehr funktioniert bei mir
JavaScript
Alles anzeigen// ContextTranslate.uc.js (function () { if (location != 'chrome://browser/content/browser.xhtml') return; let translate = function () { let browserMM = gBrowser.selectedBrowser.messageManager; browserMM.addMessageListener('getSelection', function listener(message) { let t = (message.data !== ''); let e = (document.charset || document.characterSet); if (t) { openWebLinkIn('https://translate.google.com/?sl=auto&tl=de&text=' + encodeURIComponent(message.data), 'tab'); } else { openWebLinkIn('https://translate.google.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=de-DE', 'tab'); }; browserMM.removeMessageListener('getSelection', listener, true); }); browserMM.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true); } let menuitem = document.createXULElement('menuitem'); menuitem.id = 'context-googletranslate'; menuitem.setAttribute('label', 'gTranslate->de'); menuitem.setAttribute('tooltiptext', 'Mit GoogleTranslate übersetzen'); menuitem.setAttribute('oncommand', '(' + translate.toString() + ')()'); menuitem.classList.add('menuitem-iconic'); //Wer kein Icon möchte kann die nächsten beiden Zeilen auskommentieren/löschen //menuitem.style.listStyleImage = 'url("https://translate.google.com/favicon.ico")'; menuitem.style.listStyleImage = ' url("data:image/png;base64,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")'; let refItem = document.getElementById('context-inspect'); refItem.parentNode.insertBefore(menuitem, refItem); })();
-
Folgendes Skript funktioniert nicht mehr (glaube ab ff138) kann es mir jemand fixen?
JavaScript
Alles anzeigen// ==UserScript== // @name UndoListInTabmenuToo // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description UndoListInTabmenuToo.uc.js // @include main // @compatibility Firefox 87+ // @author Alice0775 // @version 2021/04/25 fix 1689378 // @version 2019/11/14 remove eval // @version 2019/06/30 10:00 Bug 1555060 Convert <tabs> to a custom element // @version 2019/06/24 23:00 wait for gBrowser initialized // @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement // @version 2018/05/10 60 // @version 2017/11/18 nsIPrefBranch to nsIPrefBranch // @version 2010/09/18 00:00 4.0b7pre // @version 2009/02/03 13:00 ツールチップにタブ内履歴を表示するようにした // @Note タブやコンテキストメニューにもUndoClose Tab Listを追加するもの // @OriginalCode browser.jsからpopulateUndoSubmenuを拝借し, ごにょごにょした // @version 2018/05/09 15:00 61 // ==/UserScript== // @version 2010/03/26 13:00 Minefield/3.7a4pre Bug 554991 - allow tab context menu to be modified by normal XUL overlays // @version 2010/03/15 00:00 Minefield/3.7a4pre Bug 347930 - Tab strip should be a toolbar instead // @version 2009/09/09 15:00 中クリック処理 // @version 2009/09/03 22:00 Firegox3.7a1preで動かなくなっていたのを修正(Bug 489925. getElementById should not return anonymous nodes) // @version 2009/08/22 00:00 Firegox3.6 stringbandleの変更による // @version 2009/04/24 00:00 #394759 [Firefox:Session Restore]-Add undo close window feature // @version 2008/10/12 18:00 Fx3.0.4pre中クリックしたときメニューポップアップが閉じないおよびその他fix // @version 2007/10/05 10:00 var UndoListInTabmenu = { // -- config -- TABCONTEXTMENU : true , //タブコンテキストメニューに 追加する:[true], しない: false CONTEXTMENU : false , //コンテンツアリアコンテキストメニューに 追加する: true , しない:[false] // -- config end-- ss: null, get tabContext() { return document.getElementById("tabContextMenu"); }, get navigatorBundle() { return Services.strings.createBundle( "chrome://browser/locale/browser.properties" ); }, init: function(){ if (this.TABCONTEXTMENU){ //タブコンテキスト var tabContext = this.tabContext; this.makePopup(tabContext, null, "tabContextUndoList"); } if (this.CONTEXTMENU){ //コンテンツエリアコンテキスト var contextMenu = document.getElementById("contentAreaContextMenu"); var refItem = document.getElementById("context-sep-stop"); this.makePopup(contextMenu, refItem, "ContextUndoList"); } // get closed-tabs from nsSessionStore this._ss = SessionStore; }, makePopup: function(popup, refItem, id){ var menu; //label const locale = "en"; // "Recently Closed Windows" menu = document.createXULElement("menu"); menu.setAttribute("id", "historyUndoWindowMenu3"); menu.setAttribute("label", "K\u00FCrzlich geschlossene Fenster"); menu.setAttribute("accesskey", "W"); menu.setAttribute("disabled", "true"); popup.insertBefore(menu, refItem); this.historyUndoWindowPopup3 = menu = menu.appendChild(document.createXULElement("menupopup")); menu.setAttribute("id", "historyUndoWindowPopup3"); menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu(this);"); //UndoClose Tab List 最近閉じたタブ const LABELTEXT = locale.indexOf("ja") == -1?"K\u00FCrzlich geschlossene Tabs":"\u6700\u8fd1\u9589\u3058\u305f\u30bf\u30d6"; //create menu menu = document.createXULElement("menu"); menu.setAttribute("label", LABELTEXT); menu.setAttribute("accesskey", "L"); if (id) menu.setAttribute("id", id); //menu.setAttribute("disabled", true); var menupopup = document.createXULElement("menupopup"); menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);"); menu.appendChild(menupopup); popup.insertBefore(menu, refItem); //add event listener popup.addEventListener('popupshowing',function(event) { UndoListInTabmenu.toggleRecentlyClosedWindows(); // no restorable tabs, so make sure menu is disabled, and return if (UndoListInTabmenu._ss.getClosedTabCount(window) == 0) { menu.setAttribute("disabled", true); //menu.setAttribute("hidden", true); return; } menu.removeAttribute("disabled"); //menu.setAttribute("hidden", false); },false); }, /** * Populate when the history menu is opened (Fx3.6) */ populateUndoSubmenu: function(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } var utils = RecentlyClosedTabsAndWindowsMenuUtils; var tabsFragment = utils.getTabsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-tabs" ); undoPopup.appendChild(tabsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); undoPopup.insertBefore(document.createXULElement("menuseparator"), undoPopup.childNodes[1]); // populate tab historis for tooltip var undoItems = JSON.parse(UndoListInTabmenu._ss.getClosedTabData(window)); for (var i = 0; i < undoItems.length; i++) { var entries = undoItems[i].state.entries; var tooltiptext = ""; for (var j = entries.length - 1; j > -1; j--){ if (j != entries.length - 1) tooltiptext += "\n"; tooltiptext += parseInt(j + 1, 10) + ". " + entries[j].title; } undoPopup.childNodes[i + 2/*restore all, sep*/].setAttribute("tooltiptext", tooltiptext); } // "Append Clear undo close tb list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der letzten Tabs l\u00F6schen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", function() { let prefs = Services.prefs; let max_undo = prefs.getIntPref("browser.sessionstore.max_tabs_undo"); prefs.setIntPref("browser.sessionstore.max_tabs_undo", 0); prefs.setIntPref("browser.sessionstore.max_tabs_undo", max_undo); }, false); }, toggleRecentlyClosedWindows: function PHM_toggleRecentlyClosedWindows() { // enable/disable the Recently Closed Windows sub menu let undoPopup = this.historyUndoWindowPopup3; // no restorable windows, so disable menu if (this._ss.getClosedWindowCount() == 0) this.historyUndoWindowPopup3.parentNode.setAttribute("disabled", true); else this.historyUndoWindowPopup3.parentNode.removeAttribute("disabled"); }, /** * Populate when the history menu is opened */ populateUndoWindowSubmenu: function PHM_populateUndoWindowSubmenu(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } let utils = RecentlyClosedTabsAndWindowsMenuUtils; let windowsFragment = utils.getWindowsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-windows" ); undoPopup.appendChild(windowsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); undoPopup.insertBefore(document.createXULElement("menuseparator"), undoPopup.childNodes[1]); // "Append Clear undo close window list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der kürzlich geschlossenen Fenster l\u00F6schen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", function() { for (let i = SessionStore.getClosedWindowCount() -1; i >= 0; i--) SessionStore.forgetClosedWindow(i); }, false); } }; // 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) { UndoListInTabmenu.init(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); UndoListInTabmenu.init(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); }
und auch dieses Script für das Schließen der linken Tabs scheint nicht mehr zu gehen
JavaScript
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xhtml') return; let menuitem = document.createXULElement('menuitem'); menuitem.id = 'context_closeLeftTabs'; menuitem.setAttribute('label', 'Linke Tabs schließen'); menuitem.setAttribute('oncommand', 'for (let i = TabContextMenu.contextTab._tPos - 1; i >= 0; i--) \ gBrowser.removeTab(gBrowser.tabs[i], {animate: true})'); let tabContextMenu = document.getElementById('tabContextMenu'); let refItem = document.getElementById('context_undoCloseTab'); tabContextMenu.insertBefore(menuitem, refItem); tabContextMenu.insertBefore(document.getElementById('context_closeTabsToTheEnd'), refItem); tabContextMenu.insertBefore(document.getElementById('context_closeOtherTabs'), refItem); //tabContextMenu.removeChild(document.getElementById('context_closeTabOptions')); })();
evtl. auch hierfür eine Lösung?
-
-
okay, aber aus der Android Beta wurde die Funktion wohl komplett entfernt.
Zumindest gibt es diese Einstellung (unterstes Bild) https://support.mozilla.org/de/kb/blockier…firefox-android nicht mehr.