gpt4 book ai didi

google-chrome - 使用 chrome.tabs.* 注入(inject) CSS 或 JavaScript 后,如何删除它?

转载 作者:行者123 更新时间:2023-12-04 06:16:08 26 4
gpt4 key购买 nike

我使用“chrome.tabs.insertCSS”将 CSS 注入(inject)页面。我想向用户添加一个选项来删除这个 css(带有按钮或其他东西)。

那么问题是 - 我如何从选项卡中删除这个 css/js(以编程方式)添加?

最佳答案

不是自动注入(inject)样式,而是手动创建 <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 规则注入(inject) <style> 的正文中元素,因为它们非常小,如果您需要很多规则,您应该能够创建 <link rel="stylesheet">而是链接到 chrome.extension.getURL("styles.css") .

关于google-chrome - 使用 chrome.tabs.* 注入(inject) CSS 或 JavaScript 后,如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com