Mitleser Die Inline-Eventhandler sind ja schon lange nur eine Altlast nebenher, die Variante mit addEventListener und seinem Gegenstück removeEventListener gibt es ja schon seit einer Ewigkeit.
Ach so , Danke!,
Mitleser Die Inline-Eventhandler sind ja schon lange nur eine Altlast nebenher, die Variante mit addEventListener und seinem Gegenstück removeEventListener gibt es ja schon seit einer Ewigkeit.
Ach so , Danke!,
Brauchst du auch gar nicht. Wenn du das angepasste Skript in der Release-Version testest und es genau das macht, was das Skript vorher gemacht hat, dann wird es auch in der Nightly funktionieren.
Getestet in Release und funzt!
Danke!!
Funktioniert das angepasste Script aus #91 bei dir nicht?
Habe leider kein Nightly zum testen...
Schade. war einen Versuch wert. Da ich das nicht testen kann gebe ich auf. Danke für die Rückmeldungen.
Gerne
. Ich glaube ihr beide seid die einzigen, die dieses Skript nutzen (mag mich natürlich irren)
.
Nö, ich auch (dann wären wir schon zu dritt). Eine Lsg. bei diesem doch komplizierten Script wäre schön...
Es werden immer mehr
Funzt das?
//ScrollTopAndBottom.uc.js
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-top';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/downloads.svg")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-bottom';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/downloads.svg")';
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
//click
menuitem.addEventListener('click', () => {
if (event.button == 0) {
ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);
}
});
var css = '\
#context-to-top { \
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");\
transform:rotate(180deg)!important;\
margin-left: 0px !important;\
margin-right: 15px !important;\
}\
}';
var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
})();
Alles anzeigen
Und noch eins:
Ich kann das ja nicht testen aber vielleicht klappt das ja:
(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');
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'));
//click
menuitem.addEventListener('click', () => {
if (event.button == 0) {
for (let i = TabContextMenu.contextTab._tPos - 1; i >= 0; i--)gBrowser.removeTab(gBrowser.tabs[i], {animate: true});
}
});
})();
Alles anzeigen
Das Script war aber vorher auch nicht i.O., "Linke Tabs schließen" bleibt als menuitem obwohl es keinen Linken Tab gibt!
Och nö..noch einer..
Wieder nur 'meine' angepasste Version:
Icon: 16_close-box_large_moz.svg
// JavaScript Document
// M_contentAreaContextMenuCloseTab.uc.js
(function() {
if (!window.gBrowser)
return;
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const id = 'context-closetab-test'; // ID des neuen menuitems
const label = 'Aktuellen Tab schließen'; // Bezeichnung des neuen menuitems
const tooltiptext = 'Aktuellen Tab schließen';
// Icon-------------------------------------------------------
const icon = '16_close-box_large_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet
const iconColor = 'currentColor'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColor keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
//----
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
var contextMenu = document.getElementById('contentAreaContextMenu');
var menuseparator = document.createXULElement('menuseparator');
menuseparator.id = 'context-sep-closetab';
contextMenu.append(menuseparator);
var menuitem = document.createXULElement('menuitem');
menuitem.id = id;
menuitem.setAttribute('label', label);
menuitem.setAttribute('tooltiptext', tooltiptext);
menuitem.style.MozContextProperties = 'fill';
menuitem.style.fill = iconColor;
menuitem.classList.add('menuitem-iconic');
menuitem.style.listStyleImage = 'url("' + curProfDir + iconPath + icon + '")';
menuitem.addEventListener('click', () => {
BrowserCommands.closeTabOrWindow();
});
contextMenu.append(menuitem);
//Feld in die Iconleiste
//let ref = document.getElementById('context-bookmarkpage');
//ref.parentNode.insertBefore(menuitem, ref.nextSibling);
var appcontent = document.getElementById('tabbrowser-tabbox');
appcontent.addEventListener('contextmenu', event => {
setTimeout(() => {
if (gContextMenu && !gContextMenu.shouldDisplay) {
for (let string of 'back forward reload bookmarkpage'.split(' ')) {
document.getElementById('context-' + string).removeAttribute('hidden');
}
document.getElementById('context-stop').setAttribute('hidden', 'true');
const A = 'navigation sep-navigation savepage sep-paste selectall sep-viewsource viewsource viewinfo sep-bidi inspect-a11y inspect sep-closetab closetab'.split(' ');
for (let node of contextMenu.childNodes) {
if (A.includes(node.id.substring(8)))
node.removeAttribute('hidden');
else
node.setAttribute('hidden', 'true');
}
contextMenu.openPopupAtScreen(event.screenX, event.screenY, true, event);
}
}, 50);
});
})();
Alles anzeigen
Noch eins was nicht mehr funktioniert
Auch da habe ich leider nur ein Alternativ-Script (mit den Icons aus #23):
// JavaScript Document
// B_UserPrefContextMenuEnabled.uc.js
// Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false).
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
// In einem neuen Profil ist die Einstellung in about:config 'dom.event.contextmenu.enabled, true' gesetzt. Allerdings kann die Anzeige des Kontextmenüs durch die Website manchmal unterdrückt sein. Dieses Script toggelt 'dom.event.contextmenu.enabled, true'/'dom.event.contextmenu.enabled, false', 'umgeht' die 'Sperre' und blendet das Menü wieder ein. ACHTUNG: Diese Einstellung kann (z.B. mit Mausgesten+Kontextmenü) zu Konflikten führen, deshalb ist diese Schalterstellung nur für kurzzeitigen Einsatz geeignet.
(function() {
if (!window.gBrowser)
return;
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const id = 'UserPref-cmE-button'; // Id des neuen Buttons
const boolPref = 'dom.event.contextmenu.enabled'; // Einstellung in about:config deren boolesche Variable geschaltet werden soll
const labelT = 'Seitenkontextmenü normal anzeigen'; // Bezeichnung des neuen Buttons bei boolPref=true
const labelF = 'Durch Site "gesperrtes" Kontextmenü anzeigen'; // Bezeichnung des neuen Buttons bei boolPref=false
const tooltiptextT = 'Seitenkontextmenü normal anzeigen';
const tooltiptextF = 'Durch eine Site "unterdrücktes"\nSeitenkontextmenü anzeigen';
// Icon-------------------------------------------------------
const iconT = '16-control-panel-18_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=true
const iconF = '16-control-panel-20_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=false
//const bgImage = 'blue'; // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons;)
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet
const iconColorT = 'firebrick'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=true, bei anderen Icons hat const iconColorT keine Funktion)
const iconColorF = 'forestgreen'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=false, bei anderen Icons hat const iconColorF keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
//----
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
CustomizableUI.createWidget({
id: id,
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated: function(button) {
button.style.MozContextProperties = 'fill';
//bgImage
// button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
}
});
const el = document.getElementById(id);
const cl = '.toolbarbutton-icon';
//start
if (Services.prefs.getBoolPref(boolPref) == false ) {
el.querySelector(cl).style.fill = iconColorF;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
el.setAttribute('label', labelF);
el.setAttribute('tooltiptext', tooltiptextF);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
el.querySelector(cl).style.fill = iconColorT;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
el.setAttribute('label', labelT);
el.setAttribute('tooltiptext', tooltiptextT);
}
//click
el.addEventListener('click', () => {
if (event.button == 0) {
if (Services.prefs.getBoolPref(boolPref) == false ) {
el.querySelector(cl).style.fill = iconColorT;
Services.prefs.setBoolPref(boolPref, true);
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
el.setAttribute('label', labelT);
el.setAttribute('tooltiptext', tooltiptextT);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
el.querySelector(cl).style.fill = iconColorF;
Services.prefs.setBoolPref(boolPref, false);
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
el.setAttribute('label', labelF);
el.setAttribute('tooltiptext', tooltiptextF);
}
}
});
//----
})();
Alles anzeigen
Mit dem unteren Skript wird der config Eintrag: media.mediasource.enabled
von false auf true umgestellt.
Meine Frage/Bitte: Kann mir jemand diese Skripte anpassen?
Daran bin ich auch gescheitert, deshalb habe ich auch nur ein alternatives Script (mit den Icons aus #23):
// JavaScript Document
// B_UserPrefMediaSource.uc.js
// Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false).
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
// In einem neuen Profil ist die Einstellung in about:config 'media.mediasource.enabled, true' gesetzt. Allerdings werden einige Menuitems im Mediendropdown nicht angezeigt z.B.:'Video speichern unter'. Dieses Script toggelt 'media.mediasource.enabled, true'/'media.mediasource.enabled, false'. Die Einstellung 'media.mediasource.enabled, false' könnte z.B.: auf 'youtube.com' interessant sein ( =>'Video speichern unter'). Bei Livestreams (z.b.: 'ardmediathek.de/live/') kann es bei der Einstellung 'media.mediasource.enabled, false' zu Fehlermeldungen der Seite (Wiedergabefehler) kommen. Beim Umschalten wird der Seiteninhalt des AKTIVEN Tabs neu geladen.
(function() {
if (!window.gBrowser)
return;
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const id = 'UserPref-msE-button'; // Id des neuen Buttons
const boolPref = 'media.mediasource.enabled'; // Einstellung in about:config deren boolesche Variable geschaltet werden soll (Wichtig: Beim Umschalten wird der Seiteninhalt des aktiven Tabs neu geladen)
const labelT = 'Mediendropdown ohne DownloadItem (Livestream)'; // Bezeichnung des neuen Buttons bei boolPref=true
const labelF = 'Mediendropdown mit DownloadItem (Youtube)'; // Bezeichnung des neuen Buttons bei boolPref=false
const tooltiptextT = 'Mediendropdown ohne DownloadItem (Livestream)';
const tooltiptextF = 'Mediendropdown mit DownloadItem (Youtube)';
// Icon-------------------------------------------------------
const iconT = '16-control-panel-18_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=true
const iconF = '16-control-panel-20_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=false
//const bgImage = 'magenta'; // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons;)
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet
const iconColorT = 'firebrick'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=true, bei anderen Icons hat const iconColorT keine Funktion)
const iconColorF = 'forestgreen'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=false, bei anderen Icons hat const iconColorF keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
//----
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
CustomizableUI.createWidget({
id: id,
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated: function(button) {
button.style.MozContextProperties = 'fill';
//bgImage
// button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
}
});
const el = document.getElementById(id);
const cl = '.toolbarbutton-icon';
//start
if (Services.prefs.getBoolPref(boolPref) == false ) {
el.querySelector(cl).style.fill = iconColorF;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
el.setAttribute('label', labelF);
el.setAttribute('tooltiptext', tooltiptextF);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
el.querySelector(cl).style.fill = iconColorT;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
el.setAttribute('label', labelT);
el.setAttribute('tooltiptext', tooltiptextT);
}
//click
el.addEventListener('click', () => {
if (event.button == 0) {
BrowserCommands.reloadSkipCache();
if (Services.prefs.getBoolPref(boolPref) == false ) {
el.querySelector(cl).style.fill = iconColorT;
Services.prefs.setBoolPref(boolPref, true);
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
el.setAttribute('label', labelT);
el.setAttribute('tooltiptext', tooltiptextT);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
el.querySelector(cl).style.fill = iconColorF;
Services.prefs.setBoolPref(boolPref, false);
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
el.setAttribute('label', labelF);
el.setAttribute('tooltiptext', tooltiptextF);
}
}
});
//----
})();
Alles anzeigen
Danke, sehr interessant. Kannst du das bitte im oben verlinkten Thread nochmal posten? Ich hätte einige kleinere Anmerkungen dazu, die thematisch nicht hierher gehören.
Speravir Als Sören Hentzschel die kommenden Änderungen an den Inline-Eventhandlern publiziert hat, habe ich angefangen einige Button-Scripte umzuschreiben, darunter auch einige Scripte die Userprefs betreffen
(setIntPref/setBoolPref oder setCharPref). Bei mir befinden sich diese Buttons in einer zusätzlichen Seitenleiste am rechten Rand. Hier mein Script um den 'image.animation_mode' zu schalten. Aber ob das auch auf Nightly 136 läuft?
Hier die Icons: icons.zip
// JavaScript Document
// B_UserPrefAnimationMode.uc.js
// Das Script erstellt einen Button, der in about:config character/string-Variablen ändert. In der UserConfiguration unter 'const charPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (normal/once/none).
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
// In einem neuen Profil ist die Einstellung in about:config 'image.animation_mode, normal' gesetzt. Der Button schaltet per Linksklick einen Zustand weiter (von 'image.animation_mode, normal' auf 'once', von 'once' auf 'none' und von 'none' auf 'normal'. Beim Umschalten wird der Seiteninhalt des AKTIVEN Tabs neu geladen.
(function() {
if (!window.gBrowser)
return;
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const id = 'UserPref-iA_m-button'; // Id des neuen Buttons
const charPref = 'image.animation_mode'; // Einstellung in about:config deren character-Variable geschaltet werden soll
const labelNorm = 'Normale Gifanimation (Schleife)'; // Bezeichnung des neuen Buttons bei charPref=normal
const labelOnce = 'Einmalige Gifanimation'; // Bezeichnung des neuen Buttons bei charPref=once
const labelNone = 'Keine Gifanimation'; // Bezeichnung des neuen Buttons bei charPref=none
const ttTextNorm = 'Normale Gifanimation (Schleife)'; // Tooltiptext
const ttTextOnce = 'Einmalige Gifanimation';
const ttTextNone = 'Keine Gifanimation';
// Icon-------------------------------------------------------
const iconNorm = '16-control-panel-20_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für charPref=normal
const iconOnce = '16-control-panel-19_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols charPref=once
const iconNone = '16-control-panel-18_moz.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols für charPref=none
//const bgImage = '#f9f9f9'; // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons)
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet
const iconColNorm = 'forestgreen'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=normal, bei anderen Icons hat const iconColNorm keine Funktion)
const iconColOnce = 'goldenrod'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=once, bei anderen Icons hat const iconColOnce keine Funktion)
const iconColNone = 'firebrick'; // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für charPref=none, bei anderen Icons hat const iconColNone keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
//----
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
CustomizableUI.createWidget({
id: id,
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated: function(button) {
button.style.MozContextProperties = 'fill';
//bgImage
// button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
}
});
const el = document.getElementById(id);
const cl = '.toolbarbutton-icon';
//start
if (Services.prefs.getCharPref(charPref) == 'normal' ) {
el.querySelector(cl).style.fill = iconColNorm;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNorm + '")';
el.setAttribute('label', labelNorm);
el.setAttribute('tooltiptext', ttTextNorm);
}
else
if (Services.prefs.getCharPref(charPref) == 'once' ) {
el.querySelector(cl).style.fill = iconColOnce;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconOnce + '")';
el.setAttribute('label', labelOnce);
el.setAttribute('tooltiptext', ttTextOnce);
}
else
if (Services.prefs.getCharPref(charPref) == 'none' ) {
el.querySelector(cl).style.fill = iconColNone;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNone + '")';
el.setAttribute('label', labelNone);
el.setAttribute('tooltiptext', ttTextNone);
}
//click
el.addEventListener('click', () => {
if (event.button == 0) {
BrowserCommands.reloadSkipCache();
if (Services.prefs.getCharPref(charPref) == 'normal' ) {
Services.prefs.setCharPref(charPref, 'once');
el.querySelector(cl).style.fill = iconColOnce;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconOnce + '")';
el.setAttribute('label', labelOnce);
el.setAttribute('tooltiptext', ttTextOnce);
}
else
if (Services.prefs.getCharPref(charPref) == 'once' ) {
Services.prefs.setCharPref(charPref, 'none');
el.querySelector(cl).style.fill = iconColNone;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNone + '")';
el.setAttribute('label', labelNone);
el.setAttribute('tooltiptext', ttTextNone);
}
else
if (Services.prefs.getCharPref(charPref) == 'none' ) {
Services.prefs.setCharPref(charPref, 'normal');
el.querySelector(cl).style.fill = iconColNorm;
el.style.listStyleImage = 'url("' + curProfDir + iconPath + iconNorm + '")';
el.setAttribute('label', labelNorm);
el.setAttribute('tooltiptext', ttTextNorm);
}
}
});
//----
})();
Alles anzeigen
Daher auch das win im Optionsnamen - das steht für Windows.
Und ich dachte schon das würde für winner stehen !
Frohe Weihnachten!
Versuch es mal mit: widget.non-native-theme.scrollbar.size.override
Damit diese Option berücksichtigt wird, muss zusätzlich widget.non-native-theme.win.scrollbar.use-system-size auf false gesetzt werden.
Danke für die Info. Hier unter Linux mit widget.non-native-theme.scrollbar.style = 0 funktioniert widget.non-native-theme.scrollbar.size.override = n .
Die Scrollbars sind ein eben ein komplexes Thema.
Versuch es mal mit: widget.non-native-theme.scrollbar.size.override
Was meinst Du damit?
Habe gerade mal ohne ublock in einem neuen Profil getestet....
Da ist keine Werbung , sind keine Werbelinks...
Oder meinst Du der Artikel ist eine gute Werbung für Firefox?
'Der Zuhörer ist ein schweigender Schmeichler' [Immanuel Kant]
ich wollte mal fragen wann der FF endlich Joyn.de unterstützt.
Joyn.de läuft hier unter Linux und Firefox 131.0.3 ohne Probleme.
Mich würde an dieser Stelle interessieren welche Darstellung der Links ihr bevorzugt
Ich mach das so:
/*Link nicht als aktiv öffnen (javascript und aus anderen Anwendungen */
user_pref("browser.tabs.loadDivertedInBackground", true);/*false*/
/*Link nicht als aktiv öffnen (normale links)*/
user_pref("browser.tabs.loadInBackground", true);/**//*true*/
/*Link nicht als aktiv öffnen (bookmarks and searchbar)*/
user_pref("browser.tabs.loadBookmarksInBackground", true);/**//*false*/
/*Link mit linkerMaus in neuen Tab öffnen*/
user_pref("browser.tabs.loadBookmarksInTabs", true);/**//*false*/
user_pref("browser.search.openintab", true);/**//*false*/
user_pref("browser.urlbar.openintab", true);/**//*false*/
Alles anzeigen