Chrome扩展程序(和/或tampermonkey脚本)未在某些网站上运行(例如gmail)

时间:2018-04-27 20:57:08

标签: google-chrome-extension tampermonkey

我有一个非常简单的Chrome扩展程序,拒绝在https://mail.google.com等网站上运行。它在其他网站上运行良好,这让我觉得有些东西限制扩展/脚本在某些网站上运行。示例案例非常简单,如下所示。

在这个示例中,当我导航到https://about.me时,我在开发者控制台中看到“Hello world”。我还在Developer Console的执行上下文选择器中看到了扩展。但是,当我导航到https://mail.google.com时,我没有在执行上下文选择器中看到日志条目或扩展名。

我尝试过与tampermonkey类似的东西,并没有看到该脚本也在gmail上运行。谢谢!

的manifest.json

{
  "manifest_version": 2,

  "name": "Gmail extension test",
  "version": "0.1.9",
  "description": "Try running inside gmail page",

  "content_scripts": [{
    "all_frames": true,
    "js": ["content.js"],
    "matches": [
      "https://mail.google.com/*",
      "https://about.me/*",
      "http://*/*",
      "https://*/*"
    ]
  }]
}

content.js

console.warn("Hello world");

环境: Chrome 66.0.3359.117 macOS 10.13.3(17D102)

1 个答案:

答案 0 :(得分:2)

正如@wOxxOm建议的那样。我跟踪问题的原因是我的公司在google.com域上设置了Chrome policy针对运行扩展程序的设置。我在开发者控制台或macOS控制台中没有警告条目,我只是在内部论坛中追踪其他人抱怨。

在这种情况下适用的策略是ExtensionSettings,它以OS /设备特定的方式设置。为帮助诊断此限制,您可以在chrome://policy/下的Chrome中查看您的有效政策。在我的情况下,我的chrome:// policy:

中包含以下内容
{
   "*": {
      ...
      "runtime_blocked_hosts": [ "*://*.google.com", ....]
   },

我不知道扩展级别的通用解决方法。相反,我必须与我的公司IT部门合作,将扩展名列入白名单。