javascript - Chrome 扩展 : How do you gray out icon depending on the url?

标签 javascript google-chrome-extension

chrome 是否有一个 api 来禁用(并因此变灰)某些 url 上的 chrome 扩展,或者我是否只需要一个 if 语句来检查 url 并相应地切换图标?

最佳答案

你可以使用 chrome.declarativeContent , 它允许您显示 page action根据网页的 URL 及其内容匹配的 CSS 选择器。

您可以通过 new chrome.declarativeContent.PageStateMatchernew chrome.declarativeContent 这样的构造函数创建条件(是的,您可以使用正则表达式)和操作(ShowPageAction SetIcon) .ShowPageAction()。详细 sample 列于api documentation .

var rule2 = {
  conditions: [
    new chrome.declarativeContent.PageStateMatcher({
      pageUrl: { hostEquals: 'www.google.com', schemes: ['https'] },
      css: ["input[type='password']"]
    }),
    new chrome.declarativeContent.PageStateMatcher({
      css: ["video"]
    })
  ],
  actions: [ new chrome.declarativeContent.ShowPageAction() ]
};

chrome.runtime.onInstalled.addListener(function(details) {
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([rule2]);
  });
});

关于javascript - Chrome 扩展 : How do you gray out icon depending on the url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38794273/

相关文章:

javascript - 单击 SuiteScript 中的 (addSubmitButton) "Send"按钮后,如何在文本验证失败后发出警报?

javascript - 如何重新发送失败的 xmlHttpRequest

javascript - 将函数参数作为字符串在函数本身中使用时遇到问题

javascript - 无法将 jquery 文件添加到 chrome 扩展

javascript - 如何从 chrome.tabs.create 传递变量

google-chrome-extension - 你能访问 chrome ://pages from an extension?

javascript - ASP :textbox Uncaught TypeError: Cannot read property 'value' of undefined

javascript - 在其他回调完成之前阻止事件

mysql - 从 Chrome 扩展插入 MySQL

google-chrome-extension - content_scripts是否与 "chrome-extension://*/*"匹配?