kein Problem im aktuellem Nightly.
Hallo 2002Andreas !
Hier nicht, deswegen meine Nachfrage. Und das in zwei Profilen, dann muss ich auf Spurensuche. Danke, Andreas!
kein Problem im aktuellem Nightly.
Hallo 2002Andreas !
Hier nicht, deswegen meine Nachfrage. Und das in zwei Profilen, dann muss ich auf Spurensuche. Danke, Andreas!
Hier nicht
Auch nicht, wenn du das in die userChrome.css schreibst?
Auch nicht, wenn du das in die userChrome.css schreibst?
Nein, auch dann nicht.
Nein, auch dann nicht.
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Ist schon klar, ich probiere die Links, denn die funktionieren in Finale und Beta.
Ja leider funktioniert es nicht überall.
Das müssten noch andere Typen von tooltip sein.
Die müsste man dann nur noch hinzufügen.
Aber es will hin und wieder überhaupt nicht.
Keine Ahnung wieso. Zbs. Adressleiste mal geht es
dann wieder nicht usw. Keine Ahnung warum das so ist.
Ich habe auch Ihr altes Skript
Das ist nicht von mir sondern von einem asiatischen Autor.
Ardiman hat das so übernommen. Daher ist es auch bei mir sichtbar.
Mfg.
Endor
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Hilf mir mal bitte auf die Sprünge, hier wirken überhaupt keine Tooltipps. CSS-Codes alle raus, Scripte nur Restart, und trotzdem nichts. Was könnte da nicht stimmen, eventuell ein config-Eintrag. in der user.js ist nichts dazu enthalten.
Edit:
browser.chrome.toolbar_tips war auf false
hier wirken überhaupt keine Tooltipps
Welchen Wert hat dieser config Eintrag bei dir?
browser.chrome.toolbar_tips
Standard wäre true.
Welchen Wert hat dieser config Eintrag bei dir?
Danke, Andreas, habe ich auch gefunden.
habe ich auch gefunden.
Mag wer testen?
// Tooltips.us.js
"use strict";
/* Firefox userChrome.js tweaks - 'Custom Tooltips' for Firefox ************************************************************** */
/* Inspired by Mary-J. auf Camp-Firefox.de *********************************************************************************** */
/* https://www.camp-firefox.de/forum/thema/112673/?postID=1223252#post1223252
/* *************************************************************************************************************************** */
/* Customized by Mira********************************************************************************************************* */
/* https://www.camp-firefox.de/forum/thema/112673/?postID=1223348#post1223348 ************************************************ */
/* *************************************************************************************************************************** */
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
var css =`
tooltip[label="Add-ons aktualisieren"],
tooltip[label="Anwendungsmenü öffnen"],
tooltip[label="Erweiterungen"],
tooltip[label="Firefox-Startseite"],
tooltip[label="Geschlossenen Tab wiederherstellen"],
tooltip[label="Morning Coffee Quantum"],
tooltip[label="Morning Coffee"],
tooltip[label="MySessions"],
tooltip[label="Neustart (der userChrome.js-Cache wird geleert)"],
tooltip[label="Normalgröße (Strg+0)"],
tooltip[label="uBlock Origin (0)"],
tooltip[label="uBlock Origin (off)"],
tooltip[label="Browser-Werkzeuge"],
tooltip[label="Werkzeuge für Web-Entwickler"],
tooltip[label="Lesezeichenleiste ein-/ausblenden"],
tooltip[label="Verkleinern (Strg+-)"],
tooltip[label="Vergrößern (Strg++)"],
tooltip[label="Verifiziert von: Cloudflare, Inc."],
tooltip[label="Verifiziert von: Starfield Technologies, Inc."],
tooltip[label="Verifiziert von: Let's Encrypt"],
tooltip[label="Verifiziert von: DigiCert Inc"],
tooltip[label^="U"],
tooltip[label^="Q"],
#tabbrowser-tab-tooltip,
#dynamic-shortcut-tooltip,
#back-button-tooltip,
#forward-button-tooltip {
appearance: none !important;
background-color: #2B2B2B !important;
font-size: 13px !important;
color: #E0E0E0 !important;
border: 2px solid #FFA500 !important;
border-radius: 4px !important;
box-shadow: none !important;
padding: 5px 7px 5px 7px !important;
width: auto !important;
height: auto !important;
vertical-align: middle !important;
overflow: hidden !important;
}
tooltip[label^="S"] {
appearance: none !important;
background-color: #2B2B2B !important;
font-size: 13px !important;
color: white !important;
border: 2px solid #FFA500 !important;
border-radius: 4px !important;
box-shadow: none !important;
padding: 5px 7px 5px 7px !important;
width: auto !important;
height: auto !important;
vertical-align: middle !important;
overflow: hidden !important;
}
tooltip,
.balloonTooltip {
appearance: none !important;
background-color: #2B2B2B !important;
font-size: 13px !important;
color: #E0E0E0 !important;
border: 2px solid #FFA500 !important;
border-radius: 4px !important;
box-shadow: none !important;
padding: 5px 7px 5px 7px !important;
width: auto !important;
height: auto !important;
vertical-align: middle !important;
overflow: hidden !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.AGENT_SHEET);
})();
Alles anzeigen
Es würde mich interessieren, ob es damit dann später auch Probleme mit den neueren Versionen des Firefox gibt.
Danke.
Und eventuell behebt dieses Skript ja auch "Euer" Problem.
Mag wer testen?
Funktioniert auch.
Du könntest das aber verkürzen
tooltip,
.balloonTooltip,
tooltip[label*=" "],
tooltip[label^="E"] {
appearance: none !important;
background-color: #2B2B2B !important;
font-size: 13px !important;
color: white !important;
border: 2px solid #FFA500 !important;
border-radius: 4px !important;
box-shadow: none !important;
}
Alles anzeigen
Das funktioniert auch als CSS Code, muss wohl nicht unbedingt ein Skript sein.
Hier Dein damaliger Kommentar.
Ich habe mich damit nicht weiter beschäftigt, da hier die Tooltip deaktiviert sind.
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Hm, hier schon, nur manchmal erst beim 2ten mal.
Nur dieses Script zeigt, was Sie brauchen - einen Tooltip für die URL unter dem Cursor. Passen Sie das Aussehen über CSS an, die sich auf dieser Seite befinden.
// tooltips_with_URL.js
// Use button to on/off
try {
(() => {
var id = "toggle-tooltip-url",
label = "Tooltips with URL",
tooltiptext = "Switch tooltips",
img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(0, 120, 173);'/><path style='opacity:0.25;fill:black;' d='M 32,5 24,12 22.8,20.3 24.2,21.7 21.7,24.3 20.3,22.9 12,24 5,31 7.7,43 12.7,48 H 45 C 46.7,48 48,46.7 48,45 V 12.8 L 40.2,5 Z'/><path style='fill:white;' d='M 40.4,5.23 C 37.5,2.26 32.9,2.26 29.8,5.23 L 24,11 C 21.5,13.5 21.2,17.4 22.8,20.3 L 25.8,17.3 C 25.2,15.4 25.7,14 27.2,12.6 L 31,8.8 C 33.3,6.55 36,6.55 38.1,8.8 L 39.3,9.9 C 41.4,12.1 41.4,14.7 39.2,17 L 35.4,20.8 C 33.9,22.4 32.1,23.2 30.2,22.7 L 27.8,25.2 C 30.6,26.9 34.4,26.5 37.1,24 L 42.7,18.2 C 45.7,15.2 45.7,10.5 42.7,7.49 L 40.4,5.23 M 33,15 C 32.3,14.5 31.4,14.3 30.6,14.8 L 14.8,30.6 C 14.3,31.3 14.5,32.3 15,33 15.6,33.5 16.7,33.7 17.4,33.2 L 33.2,17.4 C 33.7,16.7 33.5,15.6 33,15 M 20.3,22.9 C 17.4,21.2 13.4,21.5 11,24 L 5.23,29.8 C 2.26,32.9 2.26,37.6 5.23,40.4 L 7.48,42.8 C 10.5,45.8 15.3,45.8 18.2,42.8 L 24,37.1 C 26.5,34.5 26.8,30.6 25.1,27.7 L 22.2,30.7 C 22.7,32.6 22.3,34 20.8,35.5 L 17,39.3 C 14.8,41.5 12,41.5 9.8,39.4 L 8.8,38.2 C 6.55,36 6.55,33.3 8.8,31 L 12.5,27.3 C 14,25.7 15.4,25.3 17.2,25.7' /></g></svg>",
img2 = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(135, 135, 140);'/><path style='opacity:0.25;fill:black;' d='M 32,5 24,12 22.8,20.3 24.2,21.7 21.7,24.3 20.3,22.9 12,24 5,31 7.7,43 12.7,48 H 45 C 46.7,48 48,46.7 48,45 V 12.8 L 40.2,5 Z'/><path style='fill:white;' d='M 40.4,5.23 C 37.5,2.26 32.9,2.26 29.8,5.23 L 24,11 C 21.5,13.5 21.2,17.4 22.8,20.3 L 25.8,17.3 C 25.2,15.4 25.7,14 27.2,12.6 L 31,8.8 C 33.3,6.55 36,6.55 38.1,8.8 L 39.3,9.9 C 41.4,12.1 41.4,14.7 39.2,17 L 35.4,20.8 C 33.9,22.4 32.1,23.2 30.2,22.7 L 27.8,25.2 C 30.6,26.9 34.4,26.5 37.1,24 L 42.7,18.2 C 45.7,15.2 45.7,10.5 42.7,7.49 L 40.4,5.23 M 33,15 C 32.3,14.5 31.4,14.3 30.6,14.8 L 14.8,30.6 C 14.3,31.3 14.5,32.3 15,33 15.6,33.5 16.7,33.7 17.4,33.2 L 33.2,17.4 C 33.7,16.7 33.5,15.6 33,15 M 20.3,22.9 C 17.4,21.2 13.4,21.5 11,24 L 5.23,29.8 C 2.26,32.9 2.26,37.6 5.23,40.4 L 7.48,42.8 C 10.5,45.8 15.3,45.8 18.2,42.8 L 24,37.1 C 26.5,34.5 26.8,30.6 25.1,27.7 L 22.2,30.7 C 22.7,32.6 22.3,34 20.8,35.5 L 17,39.3 C 14.8,41.5 12,41.5 9.8,39.4 L 8.8,38.2 C 6.55,36 6.55,33.3 8.8,31 L 12.5,27.3 C 14,25.7 15.4,25.3 17.2,25.7' /></g></svg>";
var branch = "extensions.ucf.", pref = "tooltip_url_enable";
var tpurl = {
initialised: false,
get ext_branch() {
delete this.ext_branch;
return this.ext_branch = Services.prefs.getBranch(branch);
},
get framescript() {
delete this.framescript;
return this.framescript = "data:application/javascript;charset=utf-8," + encodeURIComponent(`(${(function() {
var timer;
var tooltipurl = {
init() {
addEventListener("mouseover", this, true);
addMessageListener("requestTooltipUrl", this);
var unload = () => {
this.destroy();
};
addEventListener("unload", unload);
this.removeUnload = () => {
removeEventListener("unload", unload);
this.removeUnload = null;
};
},
receiveMessage(msg) {
this.destroy();
},
handleEvent(e) {
if (!/^(?:https?|ftp|file):/.test(content.location.href)) {
this.destroy();
return;
}
timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
(this.handleEvent = e => {
timer.cancel();
timer.initWithCallback(() => {
var elm = (e.composedTarget || e.explicitOriginalTarget || e.originalTarget || e.target || content), el, titl;
do {
if (!elm.matches) continue;
if (elm.matches(":any-link")) {
if (elm.matches("[href='#'], [href^='javascript']"))
return;
el = elm;
if (elm.matches("[title]"))
titl = elm;
else
while (elm = elm.flattenedTreeParentNode) {
if (!elm.matches) continue;
if (elm.matches("[title]")) {
titl = elm;
break;
}
}
break;
}
if (elm.matches("[title]")) {
titl = elm;
while (elm = elm.flattenedTreeParentNode) {
if (!elm.matches) continue;
if (elm.matches(":any-link")) {
if (elm.matches("[href='#'], [href^='javascript']"))
return;
el = elm;
break;
}
}
break;
}
} while (elm = elm.flattenedTreeParentNode);
if (!el) return;
var href = el.href;
if (titl) el = titl;
titl = (el.title || "");
var title = titl.trim(), pre = "", path = "";
try {
href = Services.io.newURI(href);
pre = href.displayPrePath;
path = `\n${href.pathQueryRef}`;
if (path === "\n/") path = "";
href = `${pre}${path}`;
} catch (e) {}
try {
href = decodeURIComponent(href);
} catch (e) {}
el.title = title = `${href}${title === "" ? "" : `\nTitle: ${title}`}`;
addEventListener("mouseout", () => {
try {
if (!el || title !== el.title) return;
if (titl !== "")
el.title = titl;
else
el.removeAttribute("title");
} catch (e) {}
}, { once: true });
}, 400, Ci.nsITimer.TYPE_ONE_SHOT);
})(e);
},
destroy() {
if (timer) {
timer.cancel();
timer = null;
}
removeEventListener("mouseover", this, true);
removeMessageListener("requestTooltipUrl", this);
this.removeUnload();
}
};
tooltipurl.init();
})})();`);
},
init: function() {
if (this.initialised) return;
Services.prefs.getDefaultBranch(branch).setBoolPref(pref, true);
Services.prefs.addObserver(`${branch}${pref}`, this);
this.initialised = true;
},
observe: function(subject, topic, data) {
var getW = CustomizableUI.getWidget(id), image, func;
if (this.ext_branch.getBoolPref(pref) == true)
image = img, func = "loadframescript";
else
image = img2, func = "destroyframescript";
if (getW.instances.length)
for(let {node} of getW.instances)
try {
this[func](node.ownerGlobal);
node.setAttribute("image", image);
} catch(e) {}
else
for (let win of CustomizableUI.windows)
try {
this[func](win);
getW.forWindow(win).node.setAttribute("image", image);
} catch(e) {}
},
uninit: function() {
if (!this.initialised) return;
Services.prefs.removeObserver(`${branch}${pref}`, this);
this.ext_branch.deleteBranch("");
this.initialised = false;
},
loadframescript: function(win) {
var mm = win.getGroupMessageManager("browsers");
mm.loadFrameScript(this.framescript, true);
},
destroyframescript: function(win) {
var mm = win.getGroupMessageManager("browsers");
mm.broadcastAsyncMessage("requestTooltipUrl");
mm.removeDelayedFrameScript(this.framescript);
},
};
CustomizableUI.createWidget({
id: id,
label: label,
tooltiptext: tooltiptext,
localized: false,
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated: function(btn) {
tpurl.init();
if (tpurl.ext_branch.getBoolPref(pref) == true) {
btn.setAttribute("image", img);
tpurl.loadframescript(btn.ownerGlobal);
} else
btn.setAttribute("image", img2);
},
onDestroyed: function(doc) {
tpurl.destroyframescript(doc.defaultView);
tpurl.uninit();
},
onCommand: function(e) {
tpurl.ext_branch.setBoolPref(pref, !tpurl.ext_branch.getBoolPref(pref));
},
});
})();
} catch(e) {}
Alles anzeigen
Wenn die tooltips nicht angezeigt werden, überprüfen Sie in about:config browser.chrome.toolbar_tips = true
Die url-tooltips in der status-bar kann durch den Stil userChrome.css deaktiviert werden
kennt jemand ein Script um die tooltips anzupassen?
Bisher nutze ich das hier:
Mag wer testen?
Bei mir ist diese kürzere Form völlig ausreichend:
/* Inspiriert von Mary-J. (https://www.camp-firefox.de/forum/thema/112673/?postID=1223252#post1223252)
und von Mira_Belle (https://www.camp-firefox.de/forum/thema/112673/?postID=1229733#post1229733)
*/
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let css =`
tooltip[label],
tooltip {
appearance: none;
background-color: ivory;
color: black;
border: 1px solid darkkhaki;
border-radius: 3px;
font-family: cursive;
font-size: 13px;
}
`;
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
})();
Alles anzeigen
Beachte, dass ich in Zeile 14 eine generische Schriftfamilie eingesetzt habe (cursive ist in Windows „Comic Sans MS“). Damit sollte man leicht einen Effekt bemerken. Die Zeile sollte entweder gelöscht oder angepasst werden werden, etwa so:
'Segoe UI' steht hier als Beispiel für mehrteilige Schriftnamen. Bei einfachen, einteiligen Namen können die Anführungszeichen weggelassen werden, beispielsweise beim Windows-Standard Arial.
Weiß jemand, ob es überhaupt Tooltips ohne Label gibt? Wenn nicht, könnte die zweite Zeile des CSS-Stils (insgesamt Z. 8 ) sogar eingespart werden (mit Ausnahme der geschweiften Klammer natürlich und das Komma zuvor müsste dann auch entfernt werden).
Lennys langes Skript habe ich mir nicht näher angesehen bzw. als ich sah, dass dort irgendwas als Bild geladen wird, die Betrachtung abgebrochen.
Der Kommentar von MotherStylus im Subreddit FirefoxCSS (vom 19.11.2019), den Lenny2 direkt über mir verlinkt hat, enthält im Prinzip auch nur den Skriptcode, wie ihn Mary-J. hier präsentiert hat.
Für Tooltips habe ich mal dieses Script übernommen. Nun habe ich krampfhaft versucht den Fehler zu finden, warum einige Popup-Menüs kurz nach dem öffnen wieder schließen, wenn die Maus darüber gehalten wird, so z.B. Überhangmenü, Hamburger Menü, u.a. Wird das Script entfernt, dann passiert das nicht.
Woran könnte das liegen?
// Tooltips.uc.js
//https://www.camp-firefox.de/forum/thema/112673-userchrome-js-scripte-f%C3%BCr-den-fuchs-diskussion/?postID=1223393#post1223393
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
var css =`
tooltip[label*=" "],
tooltip,
.balloonTooltip {
appearance: none !important;
background-color: #2B2B2B !important;
font-size: 13px !important;
color: #E0E0E0 !important;
border: 2px solid #FFA500 !important;
border-radius: 0px !important;
box-shadow: none !important;
padding: 5px 10px 5px 10px !important;
width: auto !important;
height: auto !important;
vertical-align: middle !important;
overflow: hidden !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.AGENT_SHEET);
})();
Alles anzeigen