繁体   English   中英

在浏览器标签中运行Chrome打包应用

[英]Run Chrome Packaged apps inside of browser tab

我想使用为Chrome Packaged Apps提供的新API,但也想保留在当前浏览器环境中打开某些本地URL的功能,是否可能? 所有打包应用程序教程都专注于创建单独的窗口并将app用作系统中的一等公民。

也许它可能以某种方式使用chrome.socket和其他API像往常一样,甚至可能只在开发人员模式?

不,这是不可能的设计。 Chrome打包应用程序与浏览器分开运行,无法访问特定于浏览器的功能,例如标签。 您可以获得的最接近的是通过window.open在浏览器中打开外部(不在打包的应用程序中)URL。

但是,您可以使用webview标记来模拟浏览器。 请参阅浏览器示例的代码以了解如何执行此操作。

您还可以使用刚刚发布的消息传递API安装与您的打包应用程序对话的扩展程序。 查看消息传递示例以了解如何 - 只要您了解应用程序和扩展ID,它就非常简单。

编辑:这在Chrome 44/45 +左右不受支持/可能中断。 在3月3日左右进行了一次代码审查,它确实打破了window.open从后台页面,但暂时还原了。 所以期望这不适用于Chrome 50?

实际上(在Chrome 43中)可以在浏览器选项卡中运行Chrome平台打包应用。 在您的后台页面中,只需使用应用中某些内容的网址调用window.open即可。 例如,如果index.html位于您应用的目录中,它将在浏览器标签中打开您的应用,其中包含网址chrome-extension://{{ extension id }}/index.html

这不应该需要任何额外的清单权限。

请注意,只需在浏览器中输入网址chrome-extension://{{ extension id }}/index.html即可。 您需要从应用程序的后台脚本中打开它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM