После внедрения CSS или JavaScript с помощью chrome.tabs. * Как его удалить? - PullRequest
2 голосов
/ 28 августа 2011

Я использовал "chrome.tabs.insertCSS", чтобы внедрить CSS в страницу.Я хотел бы добавить опцию для пользователя, чтобы удалить этот CSS (с помощью кнопки или что-то).

Тогда возникает вопрос - как мне удалить это дополнение CSS / JS (программно) из вкладки?1003 *

1 Ответ

3 голосов
/ 28 августа 2011

Вместо того, чтобы вставлять стили автоматически, вручную создайте элемент <style> с некоторым количеством id, который впоследствии можно будет удалить из DOM.

Вот снимок из расширения, которое включает и отключает подчеркивание ссылки черезcss:

//enable.js
var head = document.head;
var style = document.createElement("style");
var rules = document.createTextNode("a {text-decoration:underline !important;}");

style.type = "text/css";
style.id = "__link-highlighter";
if(style.styleSheet) {
    style.styleSheet.cssText = rules.nodeValue;
} else { 
    style.appendChild(rules);
}
head.appendChild(style);


//disable.js
if(document.getElementById("__link-highlighter")) {
    document.head.removeChild(document.getElementById("__link-highlighter"));
}

Я внедряю правила CSS в тело элемента <style>, потому что они очень маленькие, если вам нужно много правил, вы можете создать <link rel="stylesheet"> вместо ссылки на chrome.extension.getURL("styles.css").

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