从Chrome网上应用商店外安装Chrome扩展程序

61

我开发了一个Chrome扩展并已经打包好了。
我向一些人发送了我的扩展以供尝试,但是Chrome开始阻止它在商店中找不到的扩展。

有没有办法在不被Chrome阻止的情况下安装我的扩展?

编辑
有没有办法以开发者模式安装扩展?我读到只有以开发者模式安装的扩展才不会被阻止。

2个回答

69

对于不精通计算机的普通Windows用户来说,从Chrome Web Store以外安装和使用扩展程序实际上是不可能的。

其他操作系统(Linux、Mac、Chrome OS)的用户可以轻松地安装未打包的扩展程序(开发者模式下)。
Windows用户也可以加载未打包的扩展程序,但每次启动Chrome或打开新的隐身窗口时,他们都会看到一个“禁用开发者模式扩展”的信息气泡,这真的很烦人。Windows用户在不出现此类对话框的情况下使用未打包的扩展程序的唯一方法是切换到Chrome的开发者通道,通过安装https://www.google.com/chrome/browser/index.html?extra=devchannel#eula

按照以下步骤可以加载未打包的扩展程序

  1. 访问 chrome://extensions(通过地址栏或菜单 -> 工具 -> 扩展程序)。
  2. 勾选右上角的复选框以启用开发者模式。
  3. 点击“加载已解压的扩展程序”按钮。
  4. 选择包含已解压的扩展程序的目录。

如果你有一个crx文件,那么需要先提取它。CRX文件是带有不同头部的zip文件。任何能力强的zip程序都应该能够打开它。如果你没有这样的程序,我推荐使用7-zip

这些步骤适用于几乎所有的扩展程序,除了依赖于其扩展ID的扩展程序。如果你使用前面的方法,你将得到一个随机的扩展ID。如果保留扩展ID很重要,那么你需要知道你的CRX文件的公钥,并将其插入到你的manifest.json中。我之前曾详细解释过如何获取和使用此密钥,详情请见https://dev59.com/mGEi5IYBdhLWcg3wNqHN#21500707


现在生产线上也有Windows的开发模式吗? - tgkprog
4
要禁用Chrome所有发行版本上的烦人警告,请使用dll patcher - wOxxOm
1
为什么Windows不同? - Melab
3
@Melab 因为这些Windows用户主要受到了不必要的侧载扩展程序的影响。 - Rob W
1
对于普通的Windows用户而言,完全可以从Chrome Web商店之外安装扩展。请查看下面的答案。测试人员可以获得一个注册表文件,该文件将所发送的扩展添加到白名单中。 - Burak Gök

26
对于Windows,您还可以通过Windows策略来允许扩展程序。详细步骤请参见此答案,但以下是更快捷的步骤:
  1. 创建注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist
  2. 对于每个要允许的扩展程序,请添加一个字符串值,其名称应为序列号(从1开始),其值为扩展程序ID。
例如,要允许具有ID aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 的2个扩展程序,请创建一个名称为 1 值为 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 的字符串值,并创建第二个名称为 2 值为 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 的值。这可以通过以下注册表文件总结:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist]
"1"="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"2"="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

编辑:实际上,Chromium文档也说明了如何在其他操作系统中执行此操作。

编辑(2022年06月05日):ExtensionInstallWhitelist自Chrome 100版本起已被弃用,现已更名为ExtensionInstallAllowlist(答案已更新)


2
如果我想要列入白名单的扩展程序是未打包的,因此具有随机ID,该怎么办? - Cagin Uludamar
@CaginUludamar 然后通过按下“打包扩展”来打包它。 - user151496

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接