...在大多数情况下,他们使用相同的 API
Chrome 扩展程序旨在与浏览器交互。Chrome 打包应用程序设计为独立的,并且独立于浏览器运行。他们的 API现在已经大相径庭了。只需查看应用程序的 API 列表和扩展的等效列表,您就会发现它们完全不同。
在这种情况下,Fu 型使用chrome.app.window
API,尤其是函数的frame: 'none'
选项create
。
顾名思义app.window
,它只适用于打包应用程序,而不是扩展程序。基于扩展的chrome.windows.create
方法最终将支持一个type: 'panel'
选项,该选项将提供视觉上相似的功能(在 Google 的Hangouts 扩展中查看它的工作原理)。它在 API 中进行了描述,并附有注释:
' panel
' 和 ' detached_panel
' 类型会创建一个弹出窗口,除非--enable-panels
设置了 ' ' 标志。
目前只有环聊被列入使用面板的白名单,但在 Chrome 扩展中具有面板行为的讨论表明,您的扩展可以通过向清单添加特定key
值来伪装成环聊:
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDsDApubb73tPfYlNIFxDu3K3/EHgV6/YOJXJkld1OZ20jW/cOht1j0NggnXhQYuu1mXFUufud4I2N7b5ydyg09gcM9Va3Zk17RhNV9smbPHOd4XlzJeXifX/9MgHPu4FzCen3CiSXsOeAELJIXEuT28xICriuUko/rNPwGeIB9VwIDAQAB"
但是,我不会依赖这种无证行为;谷歌可能会修复它,或者它可能会在未来破坏其他东西。
在完全支持面板之前,您可以开始使用--enable-panel
浏览器标志开发扩展程序,并希望在完成开发后默认启用该功能。