我想使用为 Chrome 打包应用程序提供的新 API,但也想保留在当前浏览器环境中打开某些本地 URL 的能力,这可能吗?所有打包应用程序教程都侧重于创建单独的窗口并将应用程序用作系统中的一等公民。
也许它可以像往常一样以某种方式使用chrome.socket
和其他 API,甚至可能仅在开发人员模式下?
我想使用为 Chrome 打包应用程序提供的新 API,但也想保留在当前浏览器环境中打开某些本地 URL 的能力,这可能吗?所有打包应用程序教程都侧重于创建单独的窗口并将应用程序用作系统中的一等公民。
也许它可以像往常一样以某种方式使用chrome.socket
和其他 API,甚至可能仅在开发人员模式下?
编辑:Chrome 44/45+ 左右不支持/可能会中断。3 月 3 日左右进行了一次代码审查,确实打破了 window.open 从后台页面打开,但暂时恢复了。所以期望这从 Chrome 50 开始不起作用?
实际上可以(在 Chrome 43 中)在浏览器选项卡中运行您的 chrome 平台打包应用程序。在您的背景页面中,只需window.open
使用应用中某些内容的 URL 进行调用。例如,如果index.html
在您的应用程序目录中,它将在带有 URL 的浏览器选项卡中打开您的应用程序chrome-extension://{{ extension id }}/index.html
这不应该需要任何额外的清单权限。
chrome-extension://{{ extension id }}/index.html
请注意,如果您只是在浏览器中输入 url,它将不起作用。您需要从应用程序的后台脚本中打开它。