Google chrome extension Chrome扩展插件';s浏览器操作,带有插入/删除CSS的弹出窗口
我想问一个方法注入css或删除注入css通过浏览动作弹出窗口的铬扩展。我试着在几个地方寻找理想的方法,但我没能理解它们 我想做一个类似于的扩展,但是点击popup.html中的div来加载或卸载创建的css文件Google chrome extension Chrome扩展插件';s浏览器操作,带有插入/删除CSS的弹出窗口,google-chrome-extension,Google Chrome Extension,我想问一个方法注入css或删除注入css通过浏览动作弹出窗口的铬扩展。我试着在几个地方寻找理想的方法,但我没能理解它们 我想做一个类似于的扩展,但是点击popup.html中的div来加载或卸载创建的css文件 这是我目前的工作()使用内容脚本直接插入css。现在,我想让它能够以不同的方式加载或卸载,而不是一次性全部加载。Chrome API无法删除通过manifest.json注入的CSS 像插入一样插入代码,但使用带有内容脚本名称的文件参数,该参数将在document.documentEle
这是我目前的工作()使用内容脚本直接插入css。现在,我想让它能够以不同的方式加载或卸载,而不是一次性全部加载。Chrome API无法删除通过manifest.json注入的CSS 像插入一样插入代码,但使用带有内容脚本名称的
文件
参数,该参数将在document.documentElement
下添加或删除链接
元素,该元素的id
等于chrome.runtime.id
和href
指向CSS文件
“内容脚本”
“web可访问资源”:[“*.css”]
div
添加一个单击处理程序chrome.tabs.executeScript({file:'content.js'})代码>
(函数(){
var styleElement=document.getElementById(chrome.runtime.id);
if(样式元素){
styleElement.remove();
返回;
}
变量css=({
“www.youtube.com”:“app_yt_HoveredImg.css”,
“www.messenger.com”:“fb_messenger_styles.css”,
“www.google.com”:“google_styles.css”,
“translate.google.com”:“google_styles.css”,
'api.google.com':'google_styles.css',
})[location.hostname];
如果(!css){
返回;
}
styleElement=document.createElement('link');
styleElement.id=chrome.runtime.id;
styleElement.rel='stylesheet';
styleElement.href=chrome.runtime.getURL(css);
document.documentElement.appendChild(styleElement);
})();
注意,在此工作流中,您只需要而不是
“tabs”
:优点是activeTab
在安装扩展时不需要请求权限。在应用解决方案时解决了一些愚蠢的错误后,它终于起作用了。谢谢我想进一步了解一下,是否有办法对此进行检查或调试?添加调试器在content.js中编写>并在网页上打开devtools:当注入脚本时,devtools调试器将激活。对于弹出窗口,它有自己的devtools:右键单击弹出窗口并单击Inspect。