我有一个非常简单的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)
答案 0 :(得分:2)
正如@wOxxOm建议的那样。我跟踪问题的原因是我的公司在google.com域上设置了Chrome policy针对运行扩展程序的设置。我在开发者控制台或macOS控制台中没有警告条目,我只是在内部论坛中追踪其他人抱怨。
在这种情况下适用的策略是ExtensionSettings,它以OS /设备特定的方式设置。为帮助诊断此限制,您可以在chrome://policy/
下的Chrome中查看您的有效政策。在我的情况下,我的chrome:// policy:
{
"*": {
...
"runtime_blocked_hosts": [ "*://*.google.com", ....]
},
我不知道扩展级别的通用解决方法。相反,我必须与我的公司IT部门合作,将扩展名列入白名单。