我可以使用JavaScript(用户脚本)修改chrome:// extensions/page吗?

won*_*ng2 2 javascript google-chrome userscripts google-chrome-extension

我想使用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");
}());
Run Code Online (Sandbox Code Playgroud)

但是当我在Chrome中加载它时,它说无效标题,最后我发现它@match chrome://extensions/是导致错误的.有没有一个解决方案?

bry*_*mck 6

Chrome扩展程序不会在chrome://extensions/目录中或Chrome网上应用店或其他一些重要区域执行以确保安全.

一种简单的方法是,如果扩展程序可以访问Chrome扩展程序页面中的DOM,则可能会删除卸载它的能力,这对许多用户来说可能非常糟糕.但是,如果要在"扩展"页面之外构建某些内容以便能够搜索用户的扩展,则可能需要查看chrome.management API.

chrome本身不是允许的方案,这就是为什么你得到一个无效的方案错误.以下是谷歌对此的评价:

的匹配图案本质上是与允许的方案(开头的URL http,https,file,或ftp),并且可以包含'*'字符.特殊模式<all_urls>匹配以允许的方案开头的任何URL.

因此,根据定义chrome,无论如何,方案都不会起作用.可以认为它不仅仅是另一个网页,而是Chrome的UI的一部分.