Wie kann ich dafür sorgen, dass ein Favicon statisch bleibt?

Wie kann ich dafür sorgen, dass ein Favicon statisch bleibt?

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:

  1. 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)

  2. 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 …“)

  3. 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, @namedefinieren den Namen des Skripts und @matchlegen fest, auf welchen Sites das Skript ausgeführt werden soll ( http://*/*und https://*/*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.

  4. 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.

verwandte Informationen