Chrome에서 지정된 글꼴 만 교체


7

나는 조지아 세금이 작년에 너무 많은 웹 사이트에 대한 분노로 바뀌기 때문에 세금을 부과합니다. Chrome에 원하는 스타일을 조정하기 위해 사용자 정의 스타일 시트를 설정했지만 모든 사이트에 대해 사용자 정의 스타일 시트를 만드는 것은 금지되어 있으며 실제로 Georgia를 사용한 위치에서만 교체를 원합니다. 글꼴을 다시 설정하기 위해 페이지를 변경할 때마다 관리자가 팝업을 표시합니다. 이 작업을 수행하는 방법을 아는 사람이 있습니까? 아아, 플러그인이없는 것 같습니다 . 페이지의 모든 글꼴을 대체 하거나 초점이 너무 좁습니다.

거기에 아무것도 없다면 책갈피를 작성하여 여러 브라우저의 플러그인으로 확장 할 수도 있지만 다른 사람이 이미 수행 한 작업을 복제하지는 않을 것입니다.

답변:


6

배열 types에 나열된 태그 를 열어 놓은 페이지로 검사하는 Chrome 확장 프로그램을 생성합니다. 프로세스에서 style 속성이 font-family동일한 노드를 찾은 경우 fontin로 대체됩니다 fontout.

  • myplugin 과 같은 새 폴더를 만듭니다.

  • 폴더에서 manifest.json 이라는 새 파일을 작성 하고이 코드를 내부에 추가하십시오.


{
  "name": "Font change",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Font change.",  
  "content_scripts": [ {
      "all_frames": true,
      "exclude_globs": [  ],
      "include_globs": [ "*" ],  
      "js": [ "script.js" ],
      "matches": [ "http://*/", "https://*/", "https://*/*", "http://*/*" ],
      "run_at": "document_end"
   } ],
  "permissions": [ "tabs", "http://*/", "https://*/", "https://*/*", "http://*/*", "contextMenus" ]      
}
  • 해당 폴더에서 script.js 라는 새 파일을 만들고이 코드를 내부에 추가하십시오.


var types = new Array("textarea","input","div","h1","h2","h3","span","p");
var fontin ="Verdana";
var fontout = "\'Courier New\'";

(function(){    
    chrome.extension.sendRequest({
        set:"font"
    },function(response){
        for(var i=0;i<types.length;i++){        
            var node = document.getElementsByTagName(types[i]);
                for(var y=0;y<node.length;y++){                             
                    if(node[y].style.fontFamily==fontin){
                       node[y].style.fontFamily = fontout;
                }
           }
        }
  });
})();
  • Chrome 메뉴»설정»확장 프로그램으로 이동합니다.

  • 이제 "비포장 확장명로드"버튼을 클릭하십시오.

  • 마지막으로 폴더를 표시하고 열기 버튼을 클릭하십시오.

시스템이 매우 단순하다는 것을 알 수 있으며 자신의 제어 코드를 사용하여 script.js 파일을 사용자 정의 할 수 있습니다 . 앞으로 다른 스크립트, CSS, 구성 페이지 등을 추가 할 수 있습니다.

script.js 파일을 변경할 때마다
Ctrl+로 플러그인을 다시로드해야합니다 R.

또한 Chrome 확장 프로그램을 만드는 방법에 대한 자세한 가이드를 얻을 수 있습니다 .


위의 코드 스 니펫을 업데이트 하시겠습니까? 나는 그것을 시도했지만 작동하지 않습니다. 불행히도, 나는 자바 스크립트를 모른다. 작업 코드에 익숙해지면 수정을 할 수 있습니다.
Prash

거의 확실하게 코드 스 니펫은 변수에 나열된 컨테이너 이외의 컨테이너에 싸여 있으므로 types태그를 찾고 배열에 노드 이름을 추가해야합니다 types. 코드 스 니펫 링크를 전달하면 문제를 찾아서 코드를 수정할 수 있습니다.
RTOSkit

아니요. 코드를 그대로 사용했습니다. 문제는 크롬이 일부 API 호출을 변경했다는 것입니다. 예를 들어, sendRequest는 더 이상 유효하지 않은 것 같습니다. 나는 그것을 테스트 페이지 나 플러그인을 테스트하기 위해 특별히 만든.
Prash

API는, 내가 링크를 테스트, 단순히 파일의 manifest.json에서 "document_end"와 "document_start"를 교체해야 괜찮
RTOSkit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.