javascript - 如何加载/构建 Chrome 应用程序/扩展程序并以编程方式运行

标签 javascript google-chrome google-chrome-extension

我正在寻找一个类似于 Google 自己的 Chrome Dev Editor 的 Chrome 应用程序,一个使用网络标准构建的应用程序来创建 Chrome 应用程序/扩展

在 Chrome Dev Editor 中,可以直接在应用本身内运行您创建的 Chrome 应用/扩展程序。它构建应用程序并执行它们。

是否有特定的 API 可以为我想要制作的应用执行此操作?如果是,它是什么以及它的文档在哪里?

如有任何关于此主题的指导,我们将不胜感激。

谢谢! -瑞克

最佳答案

Chrome Dev Editor 已列入 chrome.developerPrivate 白名单接口(interface)。您不能将具有此功能的应用程序部署到网上商店。

幸运的是,您可以通过加载为解压扩展、添加“developerPrivate”“management” 权限并设置key manifest property 来使用此api。到那些列入白名单的 key 之一。

如果您的用户是 Chrome 应用程序/扩展程序开发人员,他们会熟悉加载未打包的扩展程序,因此您可以让他们自己来访问这些功能并将没有这些功能的版本分发到网上商店。

您可以使用 chrome.runtime.getPackageDirectoryEntry() 包含导出源代码和自动插入 list key 的选项,并在您的代码中使用它之前检查是否定义了 chrome.developerPrivate。

白名单键:

  • Chrome Dev Editor : "MIIBIjANBgkqhkiG9w0BAQEFAOCAQ8AMIIBCgKCAQEA2OvldPjAqgEboHyyZM7GpCMmGMSQ8aExOlQyOhN3C9fDRXqnAN/Ie20TEwD9Eb2CciV3Ru4Gm7PmDnkHzsljD84qLgBdN39FzPGD yViXTS442xTElWRZMZQfJYQpbMpiePL720kTHgLLAcwTgdP9DnvRPrKukIs/U4Y76NFk7NNbsNOc6FWisLJykw2POTB1RR5ZlZrA4Ax1P7kt7qQdomE6i8wy1TA1jDhG8AhEXKRfpyELvJmzy VIyR9uiSHDHCdihiS5oyjADjmmbklvL7Ns0cSAgEX/lWN8UX8r17zoKZzJ0MkmCQ5Nlfql8qUtn2oZXaHztkkAcXCxkq9/37QIDAQAB”

  • Spark (dev) : "MIIBIjANBgkqhkiG9w0BAQEFAOCAQ8AMIIBCgKCAQEAiC2CjQDYZcE1Pn8QHpLh1F32QiJqcO63CObY4ulPEHHmIDfIyflB2WXc7D1bDJtHBahkJEthY4I8wN8gjowgYVKiiqMpwiuV7 Evivyf7Qyvg537Kb0aBdGKVFCpk12H/Z9k835BTWZ3t/uk/ZK2r4fwUF06LYWtZ3XS1W5OrV0NTxGF/keX4qidKMDl3pKLNjKPSPl0G3WFEMui+L68VnC2HzCfrpyrC1/oGGLTa2xg/lkEZh zuUUjWsar8YazZYmVPmZQOjdyls/tGxrVac3IcDaSve40PuKgmmn7H2Gb1h4NKRbDTgBhqmIewQCGpuHMRf/EXNDROhNCx2byStkwIDAQAB”

  • > Spark (nightly) : "MIIBIjANBgkqhkiG9w0BAQEFAOCAQ8AMIIBCgKCAQEAwqXKrcvbi1a1IjFM5COs07Ee9xvPyOSh9dhEF6kwBGjAH6/4F7MHOfPk+W04PURi707E8SsS2iCkvrMiJPh4GnrZ3fWqFUzlsA cUljcYbkyorKxglwdZEXWbFgcKVR/uzuzXD8mOcuXRLu0YyVSdEGzhfZ1HkeMQCKEncUCL5ziE4ZkZJ7I8YVhVG+uiROeMg3zjxxSQrYHOfG5HOqmVslRPCfyiRbIHH3JPD0lax5FudngdKy0+1 nkkqVJCpRSf75cRRnxGPjdEvNzTEFmf5oGFxSVs7iXoVQvNXB35Qfyw5rV6N+JyERdu6a7xEnz9lbw41m/noKInlfP+uBQuaQIDAQAB”
  • > Chrome Apps & Extensions Developer Tool : "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV/GMX7sjLe3ceUizalvfZK0qhsWnXcjJ3cCbYvXFo43Q2F7SZM8/0roex0wSpNRSO1j9c/m7YXLYBAOiy21ERRJEVEIvOvWp1LLeoBSsbQ nnhSPKInqUrkA8fMRCqI0gHRUK3K7dIiOC2A7jkWUMs4DqRiQSkntUUGzVIoY6OYQIDAQAB”
  • > Code Editor : "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhi5zNAGD4SvQyCSVCj7KIt4w3OX0r9S7VFdxtzhagQVm58Kuz5XoJsbIhISEHjukldlZQZn9s0e9x1aK/s48ZJMe5KHyv6o0pYsslP EMro3aZG8bkPW9HMUMHe9uhyhw2DT90UMzWrOatOdj2QI41J+9Q4eP2TgXBTfJstE5QQIDAQAB”

关于javascript - 如何加载/构建 Chrome 应用程序/扩展程序并以编程方式运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35932942/

相关文章:

javascript - IOS 滚动问题( flex 滚动和反弹)

javascript - 如何将文本框值传递给 Controller

javascript - 在 createOffer 或 createAnswer 之前获取 WebRTC IceCandidates

jquery - 谷歌浏览器 : How can I keep an element's z-index after its position is dynamically set to 'fixed' ?

javascript - Google Cloud Vision (Chrome) 结果限制为 5

javascript - jQuery:在拖放中获取所选图像的名称?

javascript - 使用应用程序级别解析 AngularJS 的动态指令模板

google-chrome - 有什么办法可以在 Ubuntu 中不显示的情况下启动 Chrome 浏览器?

javascript - 外部文件 Chrome 扩展程序

javascript - 在Chrome native 消息传递中: how long is the native app instance object lifetime?