Ist in diesem Zusammenhang der Eintrag
extensions.formautofill.addresses.supported
mit Wert detect noch erforderlich?
Ist in diesem Zusammenhang der Eintrag
extensions.formautofill.addresses.supported
mit Wert detect noch erforderlich?
Kann man das auch erweitern, so das auch in der Lesezeichen-Sidebar die Ordner entsprechend ausgestattet werden?
hm....
Jo, aber vielleicht geht ja trotzdem was... ![]()
Und die Revanche hat gesessen. 0:5, Wolfsburg im Pokalfinale. ![]()
Hab hier gerade das Script zum Anzeigen der Anzahl der Lesezeichen in den Ordnern gefunden.
Kann man das auch erweitern, so das auch in der Lesezeichen-Sidebar die Ordner entsprechend ausgestattet werden?
(function() {
if (!window.gBrowser)
return;
function setFunction() {
PlacesViewBase.prototype._onPopupShowing = function PVB__onPopupShowing(aEvent) {
let popup = aEvent.originalTarget;
this._ensureMarkers(popup);
if ("_delayedRemovals" in popup) {
while (popup._delayedRemovals.length) {
popup.removeChild(popup._delayedRemovals.shift());
}
}
if (popup._placesNode && PlacesUIUtils.getViewForNode(popup) == this) {
if (!popup._placesNode.containerOpen) {
popup._placesNode.containerOpen = true;
}
if (!popup._built) {
this._rebuildPopup(popup);
}
this._mayAddCommandsItems(popup);
}
/* original function end */
for (let item of popup.children) {
if (item.localName != 'menu' || item.id?.startsWith('history'))
continue;
setTimeout(() => {
let itemPopup = item.menupopup;
itemPopup.openPopup();
itemPopup.hidePopup();
let menuitemCount = 0;
let menuCount = 0;
for (let subitem of itemPopup.children) {
if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) {
if (subitem.localName == 'menuitem') {
menuitemCount++;
} else if (subitem.localName == 'menu') {
menuCount++;
}
}
}
if (!item.labelOriginal) {
item.labelOriginal = item.label;
}
item.labelSuffix = ' (' + menuCount + '/' + menuitemCount + ')';
// item.setAttribute("id", "menu-menuitem-count");
// item.labelSuffix.setAttribute("color", "red");
// item.labelSuffix = className("menu-menuitem-count");
// item.labelSuffix.className = "menu-menuitem-count";
// menuitemCount.setAttribute("id", "menu-menuitem-count");
item.label = item.labelOriginal + item.labelSuffix;
}, 100);
}
popup.addEventListener('popuphidden', function onPopuphidden(event) {
if (event.target != this)
return;
popup.removeEventListener('popuphidden', onPopuphidden);
for (let item of popup.children) {
if (item.localName == 'menu') {
if (item.labelOriginal) {
item.label = item.labelOriginal;
item.labelOriginal = undefined;
}
}
}
});
}
}
setTimeout(function() {
setFunction();
},50);
})();
Alles anzeigen
Die Version passt hier fasst auf Anhieb, ich musste nur margin-left für die Icons um 2px anpassen und perfekt ist es, Dankeschön das Du es geeilt hast.
![]()
// Noch Osterntrunken? Gefasst und geeiert, Mann Mann Mann.... ![]()
Oh, vielen Dank, so isser der Aris.... ![]()
Wie wäre es mit diesem Script von Alice?
Übrigens ist Yahoo Japan (und somit der Content von Alice) nicht mehr erreichbar für GB und die EU-Staaten...
// ==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");
}
Alles anzeigen
Damit erhältst du im Tab-Kontextmenü entsprechende Einträge... ![]()
machst du wieder eine Anpassung an deine Version
oder sind es nur wenige Zeilen, die man ggf austauschen sollte?
Vielen Dank; mit -4 px siehts dann ganz gut aus! ![]()
Hm, habe den Code auf die hiesigen Bedürfnisse angepasst, die Icons eingepflegt, die Pfade angepasst aber so ganz gelungen ist es noch nicht...
Der Kontextmenüeintrag müsste jeweils noch eine Idee nach unten, ggf ein oder 2 px
Hier der derzeitige Code:
/* Passwort ein- und ausblenden im Kontextmenü */
/* Konzept von 2002Andreas */
#context-reveal-password:not([checked="true"]) > label {
margin-left: -18px !important;
font-size: 0 !important;
}
#context-reveal-password:not([checked="true"]) > label::after {
content: "Passwort anzeigen" !important;
font-size: 12px !important;
}
#context-reveal-password > hbox > image:not([checked="true"]) {
display: none !important;
}
#context-reveal-password:not([checked="true"])::before {
margin-right: -6px !important;
margin-left: 2px !important;
padding-left: 29px !important;
content: '' !important;
display: block !important;
width: 19px !important;
height: 15px !important;
background-image: url("../icons/note_edit.png") !important;
background-repeat: no-repeat !important;
background-position: 0px 0px !important;
background-size: 15px 15px !important;
}
#context-reveal-password > label {
margin-left: -18px !important;
font-size: 0 !important;
}
#context-reveal-password[checked="true"] > label::after {
content: "Passwort ausblenden" !important;
font-size: 12px !important;
}
#context-reveal-password::before {
margin-right: 0px !important;
margin-left: 2px !important;
content: '' !important;
display: block !important;
width: 19px !important;
height: 15px !important;
background-image: url("../icons/note_delete.png") !important;
background-repeat: no-repeat !important;
background-position: 0px 0px !important;
background-size: 15px 15px !important;
}
Alles anzeigen
Wo muss ich was einfügen? ![]()
Vor diesem Problem stand ich auch mal und habe mich deswegen für die Nutzung einer Erweiterung entschlossen.
Im Rechtsklickmenü des Tabs kann man vielerlei konfigurieren unter anderem auch die Funktion abschalten....
Wenn es keine Scriptlösung gibt wäre das vielleicht auch für dich eine Alternative ![]()
OK, war eine Idee.... ![]()
Danke! Es springt mich nichts direkt an..
MollyH Mir springt deine installierte uBlockOrigin - Version ins Auge. Guckst du meine, ich nutze allerdings immer die neueste BETA-Variante
Auf der Entwicklerseite ist allerdings auch schon die Version 1.48.8 als Stable gekennzeichnet und kann von dort auch heruntergeladen werden. Die dort gelisteten sind alle zertifiziert....
Warum diese Version noch nicht bei AMO verfügbar ist, entzieht sich meiner Kenntnis. Ebenso, ob dies ursächlich für eure Probleme ist.
.. die Frage nach einer Sicherheitssoftware, zum Beispiel mit Wirkung am Internetzugangspunkt, solltest du noch beantworten.. falls ich das nicht überlesen habe...
Genau in 443 Tagen ists soweit
![]()
Ein gesegnetes Alter, hab sie gern gesehen.. RIP
Leider nur nachträglich, da ich Ostern und danach arbeiten und nicht im Forum unterwegs war, alles Gute und vor allem viel Gesundheit wünscht dir, Büssen der Boersenfeger
![]()
Danke, ich habe meine Textbausteine entsprechend angepasst! ![]()
Ian Bairnson, Kernmitglied von The Alan Parsons Project ist nach einer Demenzerkrankung mit 69 Jahren gestorben. Er hat in seiner langen Karriere mit unzähligen Stars (eine Auswahl: Sting, Eric Clapton, Kate Bush, Joe Cocker Harold Faltermeyer und viele weitere) zusammen gespielt und als Gitarrist auf vielen Platten mitgewirkt.
Die Band im Himmel wird größer ![]()