【发布时间】:2016-08-15 03:33:54
【问题描述】:
更新
感谢@kofifus 提供的信息,Chrome 的默认新标签页上已有 61 个explicitly forbids 内容脚本
上一页
假设我有以下示例扩展,它将在控制台中输出test。
manifest.json
{
"name": "Test",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"content.js"
]
}
]
}
content.js
console.log('test');
上述扩展在chrome://newtab 页面中是否能正常工作?
一些有用的信息:
我知道默认情况下chrome扩展无法访问
chrome://页面,我们可以通过chrome://flags/#extensions-on-chrome-urls改变这种行为chrome://newtab实际上是一个类似https://www.google.co.jp/_/chrome/newtab?espv=2&ie=UTF-8的url,所以不应该被上述限制阻止。有很多鼠标手势扩展可用,例如crxMouse,它们在
chrome://newtab页面上运行良好还有一些声音说
chrome://newtab中不允许注入内容脚本,比如@Xan的cmets下面this answer 和this author's case
所以它看起来很奇怪,因为它在不同设备(或设置?)上的不同行为。是否有关于内容脚本是否可以在chrome://newtab 页面中运行的官方声明?或者有没有可以改变这种行为的设置?
【问题讨论】:
-
@wOxxOm,见#4,也有声音说不允许将内容脚本注入
chrome://newtab -
请注意,对于我的评论 #4,我真的不知道。这是我有根据的猜测。
-
@Xan,事实上我听到了很多关于新标签页中内容脚本行为不一致的声音。根据我自己的经验,大多数时候它在新标签页中运行良好,但我确实遇到过它不起作用的情况。
-
@wOxxOm,问题是,newtab 中的内容脚本行为不一致。有些人觉得它不起作用,而另一些人觉得它很好用,他们都只是将匹配项声明为
<all_urls>,而没有做任何其他事情。我想知道造成这种情况的原因,如果有设置我们可以改变这种行为。 -
@wOxxOm,但也有一些人发现它不起作用(参见帖子中的示例),即使他们声明了
<all_urls>
标签: google-chrome google-chrome-extension chromium