我想使用JavaScript为chrome://extensions/
页面添加搜索栏,因此我创建了一个名为test.user.js的文件,并在其中编写脚本:
// ==UserScript==
// @name chromeex
// @namespace chromeex
// @version v1.0
/* @reason
* just a test
* @end
*/
// @match chrome://extensions/
//
// ==/UserScript==
(function(){
alert("haha");
}());
但是当我在Chrome中加载它时,它说无效标题,最后我发现导致错误的是@match chrome://extensions/
。这是否有一个解决方法?
答案 0 :(得分:5)
为了安全起见,Chrome扩展程序不会在chrome://extensions/
目录或Chrome Web Store或其他一些重要区域执行。
一种简单的方法是,如果某个扩展程序可以访问Chrome扩展程序页面中的DOM,则可能会删除卸载它的能力,这对许多用户来说可能非常糟糕。您可能希望查看chrome.management API,但是,如果您想在“扩展程序”页面之外构建某些内容,以便能够搜索用户的扩展程序。
chrome
本身不是允许的方案,这就是为什么你得到一个无效的方案错误。 Here's what Google has to say about it:
匹配模式本质上是一个以允许的方案(
http
,https
,file
或ftp
)开头的网址,其中包含{{1字符。特殊模式'*'
匹配以允许的方案开头的任何URL。
因此,根据定义<all_urls>
,无论如何,计划都不会有效。可以认为它不仅仅是另一个网页,而是Chrome的UI的一部分。
答案 1 :(得分:1)
我认为,那个页面不是“普通”的网页,它的安全性很高,你不能乱用用户脚本。这就是插件的用途。
答案 2 :(得分:1)
出于安全原因,您无法在chrome:// extensions /中注入内容脚本/用户脚本。您可以使用Extension Management API页面创建自己的扩展程序管理扩展程序。