Замініть лише вказаний шрифт у Chrome


7

Я вважаю, що Грузія оподатковується, оскільки це стало великою яростю на занадто багато веб-сайтів за останній рік. У мене в Chrome створені спеціальні таблиці стилів для налаштування декількох сайтів, які мені подобаються, але стає забороняючим створювати спеціальний таблицю стилів для кожного сайту, і мені дуже хочеться зробити заміну лише там, де вони використовували Грузію. Настільки ж дратівливо з’являється інспектор кожного разу, коли я міняю сторінку, щоб знову встановити шрифти. Хтось знає, як це зробити? На жаль, начебто плагіна не має такого - або вони замінюють усі шрифти на сторінці, або занадто вузькі по фокусу.

Якщо там нічого немає, я можу розглянути можливість написання закладок, щоб зробити це саме так, і, можливо, врешті-решт розширюватимуть його на плагіни для різних браузерів, але я краще не дублюватиму роботу, яку вже робив інший.

Відповіді:


6

Створіть розширення Chrome, яке вивчає теги, перелічені в масиві, typesна будь-яку відкриту сторінку, якщо процес знайшов вузол з атрибутом стилю, 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 .


Ви не хочете оновлювати вищевказані фрагменти коду? Я спробував це, і це не працює. На жаль, я не знаю JavaScript. Я можу вносити свої зміни, коли отримую робочий код.
праш

Майже напевно фрагмент вашого коду загорнутий у контейнер, відмінний від переліченого у змінній types, вам слід знайти теги та додати ім’я вузлів до масиву types. Якщо ви передасте мені посилання з фрагментом коду, я можу знайти проблему та змінити код для вас.
RTOSkit

Ні. Код я використовував дослівно. Я думаю, що проблема полягає в тому, що хром змінив деякі виклики API. Наприклад, sendRequest, здається, більше не дійсний. Я перевірив це на цій сторінці , що я створив спеціально для тестування плагіна.
праш

API добре, я перевірив посилання, просто слід замінити "document_start" на "document_end" у файлі manifest.json
RTOSkit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.