如何加载/构建 Chrome 应用/扩展程序并以编程方式运行
How to load/build Chrome App/Extension and run programmatically
我希望制作一个类似于Google自己的Chrome Dev Editor的Chrome应用程序,这是一个使用Web标准构建的应用程序,用于创建Chrome应用程序/扩展
程序在 Chrome开发者编辑器中,您可以直接在应用内运行您创建的 Chrome 应用/扩展程序。它构建应用程序并执行它们。
是否有特定的 API 可以为我要制作的应用程序执行此操作?如果是这样,它是什么,它的文档在哪里?
如能就此问题提供任何指导,将不胜感激。
谢谢!-瑞克
Chrome Dev Editor 被列入 chrome.developerPrivate API 的白名单。您无法将具有此功能的应用程序部署到网上商店。
幸运的是,您可以通过以下方法使用此 api:作为解压缩的扩展加载、添加"developerPrivate"
和"management"
权限,并将密钥清单属性设置为其中一个列入白名单的密钥。
如果您的用户是 Chrome 应用/扩展程序开发者,他们将熟悉如何加载解压缩的扩展程序,因此您可以要求他们自己动手访问这些功能,并将没有这些功能的版本分发到网上商店。
您可以包含一个选项来导出源代码并使用 chrome.runtime.getPackageDirectoryEntry() 自动插入清单密钥,并在代码中使用之前检查是否定义了 chrome.developerPrivate。
列入白名单的密钥:
-
Chrome Dev Editor: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2OvldPjAqgEboHyyZM7GpCMmGMSQ8aExOlQyOhN3C9fDRXqnAN/Ie20TEwD9Eb2CciV3Ru4Gm7PmDnkHzsljD84qLgBdN39FzPGDyViXTS442xTElWRZMZQfJYQpbMpiePL720kTHgLLAcwTgdP9Dn vRPrKukIs/U4Y76NFk7NNbsNOc6FWisLJykw2POTB1RR5ZlZrA4Ax1P7kt7qQdomE6i8wy1TA1jDhG8AhEXKRfpyELvJmzyVIyR9uiSHDHCdihiS5oyjADjmmbklvL7Ns0cSAgEX/lWN8UX8r17zoKZzJ0MkmCQ5Nlfql8qUtn2oZXaHztkkAcXCxkq9/37QIDAQAB"
-
Spark (dev): "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiC2CjQDYZcE1Pn8QHpLh1F32QiJqcO63CObY4ulPEHHmIDfIyflB2WXc7D1bDJtHBahkJEtHY4I8wN8gjowgYVKiiqMpwiuV7Evivyf7Qyvg537Kb0aBdGKVFCpk12H/Z9k835BTWZ3t/uk/ZKk 2r4fwUF06LYWtZ3XS1W5OrV0NTxGF/keX4qidKMDl3pKLNjKPSPl0G3WFEMui+L68VnC2HzCfrpyrC1/oGGLTa2xg/lkEZhzuUUjWsar8YazZYmVPmZQOjdyls/tGxrVac3IcDaSve40PuKgmmn7H2Gb1h4NKRbDTgBhqmIewQCGpuHMRf/EXNDROhNCx2byStkwIDAQAB"
- Spark (nightly): "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqXKrcvbi1a1IjFM5COs07Ee9xvPyOSh9dhEF6kwBGjAH6/4F7MHOfPk+W04PURi707E8SsS2iCkvrMiJPh4GnrZ3fWqFUzlsAcUljcYbkyorKxglwdZEXWbFgcKVR/uzuzXD8mOcuXRLu0YyVSdEGzh fZ1HkeMQCKEncUCL5ziE4ZkZJ7I8YVhVG+uiROeMg3zjxxSQrYHOfG5HOqmVslRPCfyiRbIHH3JPD0lax5FudngdKy0+1nkkqVJCpRSf75cRRnxGPjdEvNzTEFmf5oGFxSVs7iXoVQvNXB35Qfyw5rV6N+JyERdu6a7xEnz9lbw41m/noKInlfP+uBQuaQIDAQAB"
- Chrome Apps & Extensions Developer Tool: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV/GMX7sjLe3ceUizalvfZK0qhsWnXcjJ3cCbYvXFo43Q2F7SZM8/0roex0wSpNRSO1j9c/m7YXLYBAOiy21ERRJEVEIvOvWp1LLeoBSsbQnnhSPKInqUrkA8fMRCqI0gHRUK3K7dIiOC2A7jkWUMs4DqRiQSkntUUGzVIoY6OYQIDAQAB"
- 代码编辑器: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhi5zNAGD4SvQyCSVCj7KIt4w3OX0r9S7VFdxtzhagQVm58Kuz5XoJsbIhISEHjukldlZQZn9s0e9x1aK/s48ZJMe5KHyv6o0pYsslPEMro3aZG8bkPW9HMUMHe9uhyhw2DT90UMzWrOatOdj2QI41J+9Q4eP2TgXBTfJstE5QQIDAQAB"
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- Google Chrome扩展程序可以检测所有脚本何时加载完成吗
- jQuery$.ajax扩展程序XDomainRequest
- 扩展引导程序的typeahead以便获取对象而不是字符串
- 通过chrome后台扩展或后台应用程序访问用户麦克风
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 为什么不'我的扩展程序不会出现在Chrome网上商店的搜索结果中
- Chrome扩展程序将所有链接替换为略微修改的版本
- 在 Chrome 扩展程序中创建自定义事件的最惯用方式
- Chrome APP/扩展程序从网址下载文件
- 列出谷歌浏览器中安装的所有扩展程序
- 使用多功能框在 chrome 扩展程序中包含内联自动填充功能的任何方法
- 浏览器扩展程序来跟踪我的谷歌活动
- 什么是最好的javascript数组库/实用程序/扩展
- 在ios 8应用程序扩展javascript文件中使用jQuery
- jquery复选框树是否支持使用类选择器而不是Id进行程序扩展
- 将Node.js应用程序扩展到1000个同时连接中的10个
- 如何使用OAuth与Facebook在Safari应用程序扩展
- 在js中用程序扩展一个可折叠的集合
- 如何在IOS操作应用程序扩展中调试JavaScript