Расширение Chrome для небольшого изменения CSS на * .google.com - PullRequest
0 голосов
/ 15 марта 2012

Я только что написал простое расширение, которое имеет разрешение на * .google.com и изменяет некоторые CSS в одном классе, и я думаю, что упустил что-то простое. Я меняю кнопку +1, которая реализована так:

<button ... class="esw eswd BRowJd Jt">  

В моем style.css я говорю:

button.eswa { border: 2px solid #000000; }

изменение никогда не появляется. Я также попытался переключить класс на Jt на случай, если это переопределит мой CSS, не повезло. Класс, который определяет кнопку без клика +1, это "eswa", fyi.

В соответствии с документацией я также устанавливаю разрешения для сайтов, которые я хочу изменить в моем manifest.json

{ "name": "G + Rebrander", «версия»: «0,92», "description": "Возвращает оригинальный бренд G + (до марта 2012 г.), например кнопку +1.", "browser_action": { "default_icon": "g-plus.png" },

"icons":{
    "128":"g-plus128.png"
},

"permissions": [
    "http://plus.google.com/",
    "https://plus.google.com/",
    "http://*.google.com/",
    "https://*.google.com/",
    "tabs"
]

}

Ответы [ 2 ]

4 голосов
/ 15 марта 2012

В будущем перечисление всего вашего файла manifest.json было бы чрезвычайно полезно, так как мне было трудно точно знать, что вы делаете, и, следовательно, в чем может быть ваша ошибка ... поэтому я просто перечислю несколько возможностей.

Использование! Important в вашем правиле css всегда полезно при переопределении css.

Разрешения предназначены для ввода кода, например, с фоновой страницы, а не для скриптов содержимого, которые добавляются автоматически.Документы немного расплывчаты по этому вопросу.

Для сценариев содержимого, которые добавляются автоматически, вам нужно только установить поле совпадений сценария содержимого.

Ваши совпадения не имеют * в конце и, как таковые, будут соответствовать только первой странице, а не результатам поиска, что я и предполагаю для вашего таргетинга.

Имейте в виду, что Google обычно перенаправляет на сервер в вашей стране, поэтому для меня переход на www.google.com будет перенаправлен на www.google.com.au.

+1 для меня unlicked был ewsd, а не ewsa.

Если вы используете только инъекцию css, а не сценарий, рекомендуется использовать поле run_at со значением document_start.Это обеспечит применение вашей CSS до того, как страница станет видимой, и, таким образом, будет предотвращено изменение страницы позже, когда она будет применена.Если вы используете это, то вы должны использовать! Важное, иначе CSS, добавленный страницей позже, переопределит ваше правило CSS.

Так что при всем этом рабочий манифест и файл CSS выглядят так ...
manifest.json

{
    "name": "css rules",
    "content_scripts": [
        {
         "matches": [
            "*://*.google.com/*",
            "*://*.google.com.au/*"
         ],
         "css": ["new.css"],
         "run_at" : "document_start"
        }
    ],
    "version":"1.0"
}

new.css

button.eswd { border: 2px solid #000000 !important;}
1 голос
/ 15 марта 2012

Установить! Важный для элемента, чтобы перезаписать стиль Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...