題 僅替換Chrome中的指定字體


我發現喬治亞州在徵稅,因為它在過去一年左右的網站上風靡一時。我已經在Chrome中設置了自定義樣式表來調整我喜歡的一些網站,但是製作自定義樣式表變得過於禁止 一切 網站,我真的只想在他們使用格魯吉亞的地方做替換。每當我更改頁面以再次設置字體時,同樣令人討厭的是彈出檢查器。有人知道怎麼做嗎?唉,似乎沒有一個插件有這個 - 要么他們取代 所有 頁面上的字體,或焦點太窄。

如果沒有任何東西,我可能會考慮編寫一個書籤來做這件事,也許最終將其擴展到各種瀏覽器的插件,但我寧願不重複其他人已經完成的工作。


7
2018-01-04 23:52


起源




答案:


創建一個Chrome擴展程序,用於檢查數組中列出的標記 types 進入任何打開的頁面,如果進程找到帶有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擴展程序的更詳細指南


5
2018-01-05 06:47



你介意更新上面的代碼片段嗎?我嘗試過,它不起作用。不幸的是,我不知道javascript。一旦我開始使用代碼,我就可以進行修改。 - prash
幾乎可以肯定,您的代碼段包裝在變量中列出的容器之外 types,您應該找到您的標籤並在數組中添加節點名稱 types。如果你傳遞了一個包含代碼片段的鏈接,我可以找到問題並為你修改代碼。 - RTOSkit
不,我開始使用代碼逐字。我認為問題是chrome已經改變了一些API調用。例如,sendRequest似乎不再有效。我測試了它 這一頁,我專門為測試插件而創建的。 - prash
API很好,我測試了鏈接,只需將文件manifest.json中的“document_start”替換為“document_end” - RTOSkit