Ich möchte verhindern, dass sich das Favicon in Firefox auf meinem Mac ändert.
Ich denke, dass ich es vielleicht mit Grease Monkey schaffen könnte.
Mein Ziel ist es, zu verhindern, dass Dinge wie Slack das Favicon ändern, um anzuzeigen, dass eine Benachrichtigung vorliegt.
Kann ich Websites anweisen, dasselbe Favicon zu verwenden, mit dem sie geladen wurden, ohne es zu ändern?
Antwort1
Sie können ein Greasemonkey-Skript schreiben, das ein Javascript verwendetMutationsbeobachterzu beobachten, wann sich das Favicon ändert und es dann sofort wieder zurück zu ändern, bevor man etwas bemerkt.
So geht's:
Falls noch nicht geschehen, installieren Sie dieFettaffeFirefox-Erweiterung (diese Frage bezieht sich auf Firefox, aber Sie können dies auch in Chrome und Edge tun, indem Sie die Tampermonkey-Erweiterung verwenden:Link für Chrome,Link für Edge)
Klicken Sie auf das Greasemonkey-Menü in der oberen Leiste und wählen Sie dann „Neues Benutzerskript …“ (wenn Sie Tampermonkey verwenden, heißt die Schaltfläche „Neues Skript erstellen …“)
Wenn Sie auf diese Schaltfläche geklickt haben, sollte sich eine neue Registerkarte mit einem großen Textfeld öffnen, in das Sie Javascript-Code schreiben können. Das Textfeld enthält wahrscheinlich bereits Code. Löschen Sie diesen Code einfach und ersetzen Sie ihn durch diesen:
// ==UserScript== // @name Do not change the favicon // @namespace http://tampermonkey.net/ // @version 0.1 // @description Prevents sites from changing the favicon // @author You // @match http://*/* // @match https://*/* // @grant none // ==/UserScript== (function() { 'use strict'; //Initialize some variables var favicon = document.querySelector("link[rel='shortcut icon']"); const initialIcon = favicon.href; //Define the function to run when the favicon changes var observer = new MutationObserver(function(){ if(favicon.href != initialIcon){ favicon.href = initialIcon; //Change the favicon back directly when it changes before you notice anything } }); //Run the function above whenever the favicon changes observer.observe(favicon, {attributes: true}); })();
Die oberen Zeilen, die mit
//
„definieren Eigenschaften des Skripts“ beginnen,@name
definieren den Namen des Skripts und@match
legen fest, auf welchen Sites das Skript ausgeführt werden soll (http://*/*
undhttps://*/*
damit sind alle Sites gemeint).Der Teil unten ist das eigentliche Skript, das verhindert, dass sich das Favicon ändert. Wie ich am Anfang meiner Antwort erklärt habe, erkennt es, wenn sich das Favicon ändert, und ändert es schnell wieder zurück, bevor Sie etwas bemerken.
Drücken Sie Ctrl+, Sum das Skript zu speichern, und dann sollten Sie fertig sein.
Antwort2
Sie müssen das an die Site/Web-App gebundene Cookie bearbeiten und den Wert ändern, der eine Benachrichtigung zulässt. Es gibt Erweiterungen wie CookieCutter, mit denen Sie Cookies bearbeiten können, obwohl diese für Safari gedacht ist.