¿Cómo puedo hacer que un favicon permanezca estático?

¿Cómo puedo hacer que un favicon permanezca estático?

Me gustaría evitar que el favicon cambie en Firefox en mi Mac.

Estoy pensando que tal vez pueda hacerlo con Grease Monkey.

Mi objetivo es evitar que cosas como Slack cambien el Favicon para indicar que hay una notificación.

¿Puedo decirle a los sitios web que deben usar el mismo favicon que cargaron sin cambiarlo?

Respuesta1

Puedes escribir un script de Greasemonkey que utilice Javascript.observador de mutacionespara observar cuándo cambia el favicon y luego volver a cambiarlo inmediatamente antes de que notes algo.

Aquí se explica cómo hacer esto:

  1. Si aún no lo has hecho, instala elmono grasoExtensión de Firefox (esta pregunta es sobre Firefox, pero también puedes hacer esto en Chrome y Edge usando la extensión Tampermonkey:enlace para Chrome,enlace para borde)

  2. Haz clic en el menú de Greasemonkey en la barra superior, luego selecciona "Nuevo script de usuario..." (si estás usando Tampermonkey, el botón se llama "Crear un nuevo script...")

  3. Cuando hayas hecho clic en ese botón, debería abrirse una nueva pestaña con un área de texto grande donde puedes escribir código Javascript. El área de texto probablemente ya tendrá algún código. Simplemente elimine ese código y reemplácelo con esto:

    // ==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});
    })();
    

    Las líneas en la parte superior que comienzan con //definen las propiedades del script. @namedefine el nombre del script y @matchdefine en qué sitios se debe ejecutar el script ( http://*/*y https://*/*significa todos los sitios).

    La parte inferior es el script real que evita que el favicon cambie. Como expliqué al principio de mi respuesta, lo que hace es detectar cuándo cambia el favicon y rápidamente lo vuelve a cambiar antes de que notes algo.

  4. Presione Ctrl+ Spara guardar el script y ya debería haber terminado.

Respuesta2

Tendría que editar la cookie vinculada al sitio/aplicación web y cambiar el valor que permite la notificación. Hay extensiones como CookieCutter que te permiten editar cookies aunque esa es para Safari.

información relacionada