所以我正在编写自己的 chrome 扩展程序并且我有以下 content_scripts:
"content_scripts": [{
"matches": ["*://*.youtube.com/*"],
"exclude_globs": ["*user*"],
"css": ["youtube.css"]
}]
如您所见,它在 youtube 上运行。但是它不应该在 youtube.com/user/上运行,这就是为什么我有一个 exclude_globs 字段。但是,它不起作用,并且在查看用户 channel 时仍然运行。有人有什么想法吗?
最佳答案
这是一个已知的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
});
});
或
//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
});
});
确保你在 list 中有足够的权限
/* in manifest.json */
"permissions": [
"tabs", "http://*/*"
],
引用资料
a) insertCSS
希望这对您有所帮助。
关于google-chrome - 排除 Globs 在 Chrome 扩展中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792552/