在浏览器选项卡内运行Chrome打包应用程序
Run Chrome Packaged apps inside of browser tab
我想使用为Chrome打包应用程序提供的新api,但也想保留在当前浏览器环境中打开一些本地URL的能力,这是可能的吗?所有的打包应用教程都专注于创建单独的窗口,并使用应用程序作为系统中的一等公民。
也许它可能以某种方式使用chrome.socket
和其他api像往常一样,甚至可能只在开发模式?
不,这是不可能的设计。Chrome打包应用程序与浏览器分开运行,无法访问浏览器特定的功能,比如标签。最接近的方法是在浏览器中通过window.open.
打开外部URL(不在打包的应用程序中)。但是,你可以通过使用webview标签来模拟浏览器。请参阅浏览器示例的代码来了解如何做到这一点。
你也可以安装一个扩展,使用刚刚发布的消息传递API与你的打包应用程序对话。查看消息传递示例来了解如何-只要您知道应用程序和扩展id,它就非常简单。
编辑:这是不支持的/很可能在Chrome 44/45+左右打破。3月3日的代码审查确实打破了窗口。从后台页面打开,但被暂时还原。所以预计这不会在Chrome 50开始工作?
它实际上是可能的(在Chrome 43)在浏览器选项卡中运行您的Chrome平台打包应用程序。从你的后台页面,简单地调用window.open
与一些内容的URL在你的应用程序中。例如,如果index.html
是在你的应用程序的目录,它会打开你的应用程序在浏览器选项卡URL chrome-extension://{{ extension id }}/index.html
这应该不需要任何额外的清单权限。
请注意,如果您只是在浏览器中键入url chrome-extension://{{ extension id }}/index.html
,它将不起作用。你需要从应用程序的后台脚本打开它。
- Chrome应用程序调整窗口大小保持纵横比
- Chrome.downloads.download在Chrome应用程序中
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 如何在ChromeOS上从Chrome应用程序配对新的蓝牙设备
- 角度UI路由器无法在chrome应用程序上运行
- 如何在Chrome应用程序中打开base64 PDF
- 启动时启动chrome应用程序
- 哪个webpack开发工具适合chrome应用程序
- Chrome应用程序中AJAX请求的限制是什么
- 如何在Chrome应用程序中覆盖文件
- Chrome应用程序蓝牙
- 我如何创建一个Chrome应用程序,有效地充当信息亭模式下的启动页面
- 使用沙箱从Chrome应用程序发出ajax请求
- Chrome应用程序可以注册协议处理程序吗
- Chrome应用程序:从服务器上的文件读取和写入数据
- 如何使用chrome应用程序窗口动态调整文本区域的大小
- Chrome应用程序:为什么可以't我修改页面
- Chrome应用程序:无法检索文件加载状态
- Chrome应用程序在Webview中的按钮/输入上添加点击事件
- Chrome应用程序:如何更新在Chrome应用程序主窗口中创建的辅助窗口元素的内容