google-chrome - 排除 Globs 在 Chrome 扩展中不起作用?

标签 google-chrome google-chrome-extension youtube

所以我正在编写自己的 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

b) Programmatic Injection

希望这对您有所帮助。

关于google-chrome - 排除 Globs 在 Chrome 扩展中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792552/

相关文章:

google-chrome-extension - Chrome 扩展程序可以与 USB 设备通信吗?

php - 如何获得两个特定日期之间的YouTube视频观看次数?

javascript - Angular JS 的某些结果在 Google Chrome 中不显示,但在 FireFox 中显示

javascript - window.print() javascript 在 chrome 中无法预览

HTML 代码中出现 Javascript 意外标记] 错误,这怎么可能?

javascript - 强制同步 iframe 加载

google-chrome - Webview 未在我的 chrome 扩展中打开

javascript - 如何跟踪所有用户对 Jira 网站按钮的点击

html - 将YouTube订阅按钮添加到我的代码中

api - 何时将字幕支持添加到 YouTube 数据 API V3