所以我正在编写自己的chrome扩展,并且我有以下content_scripts:
"content_scripts": [{
"matches": ["*://*.youtube.com/*"],
"exclude_globs": ["*user*"],
"css": ["youtube.css"]
}]
如您所见,它可以在youtube上运行。但它不能在youtube.com/user/上运行,这就是我有一个exclude_globs字段的原因。但是,它不起作用,它仍然在查看用户的频道时运行。有人有任何想法吗?
答案 0 :(得分:1)
这是一个众所周知的bug in Chrome,可以解决使用insertCSS
的问题<强>实施例强>
background.js
中的关注代码将执行与manifest.json
//Use chrome.tabs.onUpdated.addListener(function(integer tabId, object changeInfo, Tab tab) {...}); as applicable to ensure it works on every page
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.insertCSS(null, {
code: "document.body.bgColor='red'",
"all_frames": true
});
});
OR
//Use chrome.tabs.onUpdated.addListener(function(integer tabId, object changeInfo, Tab tab) {...}); as applicable to ensure it works on every page
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.insertCSS(null, {
file: {file:"content.css"},
"all_frames": true
});
});
确保您在清单
中拥有足够的权限/* in manifest.json */
"permissions": [
"tabs", "http://*/*"
],
<强>参考强>
希望这有帮助。