3

所以我正在编写自己的 chrome 扩展程序,并且我有以下 content_scripts:

"content_scripts": [{
    "matches": ["*://*.youtube.com/*"],
    "exclude_globs": ["*user*"],
    "css": ["youtube.css"]
}]

如您所见,它在 youtube 上运行。然而,它不应该在 youtube.com/user/ 上运行,这就是我有一个 exclude_globs 字段的原因。但是,它不起作用,并且在查看用户频道时仍然运行。有人有什么想法吗?

4

1 回答 1

2

这是 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
    });
});

确保您在清单中有足够的权限

/* in manifest.json */
"permissions": [
  "tabs", "http://*/*"
],

参考

a)插入CSS

b)程序化注入

希望这可以帮助。

于 2012-12-09T23:34:28.333 回答