Dieser Eintrag wird hier jetzt nicht mehr angezeigt
Stimmt.
Dieser Eintrag wird hier jetzt nicht mehr angezeigt
Stimmt.
Funktioniert einwandfrei wieder
Freut mich. Wie ich schon Mira_Belle schrieb, habe ich diese Skriptversion im Forum her gesucht, könnte also sein, dass sie etwas von deiner abweicht.
K.A. ob es dafür von ihm inzwischen ein Update gab/gibt
Siehe mal hier:
Ein zweites Profil habe ich.
Das sollte ein speziell für das Nightly angelegtes Profil sein. Ansonsten kannst du dann das Profil nicht mehr mit der finalen Firefox-Version verwenden.
Danke fürs drüberschauen. Ich kann aber, wenn gewünscht, die beiden CSS-Codes gerne hier verlinken.
Es wäre vielleicht doch mal gut, wenn du das Nightly herunterlädst. Natürlich ein anderes Profil und die Vorbereitungen für CSS und Benutzerskripte vornehmen. So kannst du in die Zukunft testen. Wenn natürlich jemand das gleiche verwendet, ist das kein Problem.
Mira_Belle Irgendwo habe ich gelesen, dass UndoListInTabmenuToo.uc.js eines deiner Skripte ist, wofür du wohl noch die Anpassung brauchst. Probiere diese Version mal:
// ==UserScript==
// @name UndoListInTabmenuToo.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Kürzlich geschlossene Tabsliste in Tab-Kontext und Hauptkontextmenü einfügen.
// @include main
// @compatibility Firefox 117
// @author Alice0775
// @version 2023/07/02 Einträge für Fenster entfernt
// @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 verwenden
// @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(){
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){
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", "true");
popup.insertBefore(menu, refItem);
this.historyUndoWindowPopup3 = menu = menu.appendChild(document.createXULElement("menupopup"));
menu.setAttribute("id", "historyUndoWindowPopup3");
menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu(this);"); */
//Liste kürzlich geschlossener Tabs
const LABELTEXT = "Kürzlich geschlossene Tabs"; //create menu
menu = document.createXULElement("menu");
menu.setAttribute("label", LABELTEXT);
menu.setAttribute("accesskey", "T");
if (id)
menu.setAttribute("id", id);
//menu.setAttribute("disabled", true);
var menupopup = document.createXULElement("menupopup");
//menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);");
menupopup.addEventListener('popupshowing', function (event) {
UndoListInTabmenu.populateUndoSubmenu(this);
});
menu.appendChild(menupopup);
popup.insertBefore(menu, refItem);
//Eventlistener hinzufügen
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);
},
/* Befüllen, wenn das Chronik-Menü geöffnet ist (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");
var m = undoPopup.insertBefore(document.createXULElement("menuitem"), undoPopup.childNodes[0]);
m.setAttribute("label", "Letzten geschlossenen Tab wieder öffnen (s)");
m.addEventListener("command", function (event) {
undoCloseTab();
});
m.setAttribute("accesskey", "o");
undoPopup.insertBefore(document.createXULElement(""), undoPopup.childNodes[2]);
// populate tab historis for tooltip
var undoItems = UndoListInTabmenu._ss.getClosedTabDataForWindow(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(""));
m = undoPopup.appendChild(document.createXULElement("menuitem"));
m.setAttribute("label", "Liste der letzten Tabs l\u00F6schen");
m.setAttribute("accesskey", "h");
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(""), undoPopup.childNodes[1]);
}
};
// 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");
}
Alles anzeigen
Ich weiß nicht, ob das deiner Version entspricht, ich habe es mir nur im Forum gesucht.
Mal noch etwas, da du jetzt andere Editoren verwenden musst: Achte immer darauf, dass die Textdatei in UTF-8 ohne BOM kodiert ist. Ich weiß nicht, ob das in den modernen Unicode-Zeiten noch vorkommt, aber es ist eine mögliche Fehlerquelle. Die tritt aber eher bei Skripten auf, da du dort einige ausländische Autoren hast, wie z. B. Alice0775, die Japanerin ist.
Umgesetzt, Browser neu gestartet, et voilà ...
Na siehste, Ente, äh, Ende gut, alles gut.
danke nochmal für die Anregung nach dem Speicherort, denn die brachte mich zumindest auf die Idee der Kleinschreibung des Ordnernamens und diese war hier die Lösung
Gern geschehen. Das Bisschen, was ich über Linux weiß, gebe ich gerne weiter.
es sind sämtliche Ordnernamen des Fx-Profils klein geschrieben unter Linux.
Schreibe chrome, also klein. Unter Linux musst du aufpassen, dort wird streng nach Groß- und Kleinschreibung unterschieden. Aber auch so: CSS und JavaScript unterscheiden ebenfalls streng Groß- und Kleinschreibung.
st aber auch aus der Malwarebytes-Schmiede. Ist das besser als das normale Malware Suchprogramm von denen?
Die beiden haben unterschiedliche Aufgaben. Adwcleaner sucht nach Adware also Werbesoftware und unerwünschten Programmen. Das ist schneller erledigt als die Suche mit einem Antivirenprogramm, wie es Malwarebytes ist. Aber gibt es die überhaupt für Linux?
Besser?
Ja … So muss das sein. Warum nicht gleich so?
BarbaraZ- Ich finde da keinen Inline-Eventhandler, das ist ja hauptsächlich CSS-Code. Da mir diese ganzen Symbole fehlen, kann ich das Skript auch nicht testen.
damit ich dem Firefox-Browser treu bleiben kann.
Na, bloß gut, dass andere Browser keine Bugs haben. Noch so ein Wanderer.
Werde es aber innerhalb der nächsten 4 Wochen Stück für Stück erledigen.
Du hast noch Zeit. Fx 136 erscheint voraussichtlich erst am 4. März.
Teile deine Skripte mit, es sind ja schon einige angepasst.
Meinst du / meint ihr, daran liegt es?
Weiß ich nicht. Da aber der Code in Windows mit Fx 128 bei Andreas funktioniert, sollte es nicht an der Firefox-Version liegen. Und es gibt ja nicht nur diesen einen Grund, den normalen Firefox zu verwenden, sprich jetzt schon Fx 134.
Verstehe ich es richtig, das im aktiven Firefox ab Version 137 diverse Skripte dann auch hier umgestellt werden müssen?
Wenn ja, macht es bestimtt Sinn die Umstellungen schon Stück für Stück vorzunehmen und separat zu speichern, damit diese dann, wenn es soweit ist, ausgetauscht werden können.
Schon ab Firefox 136. Klar, du kannst das auch jetzt schon machen. Da es die neue, dann allein gültige Methode schon lange gibt, kannst du das sogar schon für Fx 134 machen. Diese Methode ist sozusagen abwärtskompatibel. Aber die andere Methode mit oncommand, onclick usw. funktioniert ab Fx 136 nicht mehr. Sie funktioniert aber noch in Firefox 134 und wahrscheinlich auch noch in Firefox 135.
Da funktioniert der Code in Windows einwandfrei:
Dann liegt es auch nicht an Firefox 128 ESR.
Drachen Du hast den Code auch an der richtigen Stelle? Im Home-Verzeichnis, dann, nehme ich mal an, das Verzeichnis .mozilla (könnte sein, du musst das Verzeichnis erst einmal sichtbar machen) und darin das Verzeichnis Firefox. Wenn ich mich recht erinnere.
Noch ein Script, das funktioniert.
Es funktioniert? Mit dem Nightly? Glaube ich nicht, denn es muss noch angepasst werden.
Leider funktioniert diese Version hier nicht richtig.
Das Popup mit den Einträgen wird angezeigt, aber bei klick drauf tut sich hier nichts.
Ja, kann ich bestätigen. Ich frage mich, wie da grisu2099 und BrokenHeart meinen, dass das Skript funktioniert.
Nun, Firefox 134 ist auch stable und auf dem aktuellen Stand. Ich empfehle dir daher auch, wie AngelOfDarkness, die .deb-Versionen von Mozilla zu verwenden. ESR-Versionen sind sowieso nur für Unternehmen, Organisationen und Schulen gedacht.