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:
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)
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...")
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.@name
define el nombre del script y@match
define en qué sitios se debe ejecutar el script (http://*/*
yhttps://*/*
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.
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.