파비콘을 정적으로 유지하려면 어떻게 해야 합니까?

파비콘을 정적으로 유지하려면 어떻게 해야 합니까?

내 Mac의 Firefox에서 파비콘이 변경되는 것을 방지하고 싶습니다.

그리스몽키와 함께라면 할 수 있을 것 같다는 생각이 듭니다.

내 목표는 Slack과 같은 프로그램이 알림이 있음을 나타내기 위해 Favicon을 변경하는 것을 방지하는 것입니다.

웹사이트에 로드한 것과 동일한 파비콘을 변경하지 않고 사용해야 한다고 알릴 수 있나요?

답변1

Javascript를 사용하는 Greasemonkey 스크립트를 작성할 수 있습니다.돌연변이 관찰자파비콘이 언제 변경되는지 관찰한 다음, 아무것도 발견하기 직전에 다시 변경합니다.

이를 수행하는 방법은 다음과 같습니다.

  1. 아직 설치하지 않았다면그리스몽키Firefox 확장(이 질문은 Firefox에 관한 것이지만 Tampermonkey 확장을 사용하여 Chrome 및 Edge에서도 이 작업을 수행할 수 있습니다.크롬용 링크,엣지 링크)

  2. 상단 표시줄에서 Greasemonkey 메뉴를 클릭한 다음 "새 사용자 스크립트..."를 선택합니다. (Tampermonkey를 사용하는 경우 버튼은 "새 스크립트 만들기..."입니다.)

  3. 해당 버튼을 클릭하면 Javascript 코드를 작성할 수 있는 큰 텍스트 영역이 있는 새 탭이 열립니다. 텍스트 영역에는 이미 일부 코드가 있을 것입니다. 해당 코드를 삭제하고 다음으로 바꾸세요.

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

    //스크립트의 속성을 정의하는 것으로 시작하는 맨 위의 줄입니다 . @name스크립트의 이름을 정의하고 @match스크립트가 실행되어야 하는 사이트를 정의합니다( http://*/*https://*/*모든 사이트를 의미함).

    하단 부분은 파비콘이 변경되지 않도록 하는 실제 스크립트입니다. 답변 시작 부분에서 설명했듯이 파비콘이 변경되는 시기를 감지하고 사용자가 눈치채기 전에 빠르게 다시 변경하는 것입니다.

  4. Ctrl+를 눌러 S스크립트를 저장하면 완료됩니다.

답변2

사이트/웹 앱에 연결된 쿠키를 편집하고 알림을 허용하는 값을 변경해야 합니다. Safari용이지만 쿠키를 편집할 수 있는 CookieCutter와 같은 확장 프로그램이 있습니다.

관련 정보