Chrome 打包应用:在新标签页中打开网站

Chrome Packaged App: Open Website in New Tab

我正在更新我的一个 chrome 应用程序以仅启动网络应用程序(为什么?我没有时间继续更新 chrome 应用程序,单独更新桌面应用程序供离线使用)

这是清单的开头...

"app": {
   "background": {
      "scripts": [ "background.js" ]
   }
},

我现在只希望它打开网站的新选项卡,而不是启动打包的应用程序。所以我尝试了以下...

"app": {
   "launch": {
      "web_url": "http://whosebug.com/"
   }
},

发生错误:无法处理您的项目。

请在清单中指定应用部分的背景部分。

"app": {
   "launch": {
      "web_url": "http://whosebug.com/"
   },
   "background": {
      "scripts": [ "background.js" ]
   }
},

发生错误:无法处理您的项目。

打包应用和托管应用的应用规范不兼容。请参考清单规范。 清单可能不包含应用程序对象内的启动对象。

所以我决定只使用后台脚本并尝试以这种方式创建一个新选项卡。

background.js

chrome.app.runtime.onLaunched.addListener(function(launchData) {
  chrome.app.window.create(
    'index.html',
    {
      id: 'mainWindow',
      innerBounds: {
        'width': 800,
        'height': 600
      }
    }
  );
});

index.html

<script>
  var a    = document.createElement("a")
  a.href   = "http://whosebug.com/"
  a.target = "_blank"
  document.body.appendChild(a)
  a.click()
</script>

我终于能够成功添加新标签...

chrome.app.runtime.onLaunched.addListener(function(launchData) {
  window.open("http://whosebug.com/")
})

在我的 background.js 脚本中。

但是出现如下错误...

我点击了 "Learn More" 按钮,但这也给了我相同的 "Aw, Snap!" 页面

有谁知道为什么我无法在 chrome 打包的应用程序中打开新标签页?

我应该如何在 chrome 打包的应用程序中打开一个新选项卡?

"browser" 权限下使用 chrome.browser.openTab({ url: "" }, callback)

https://developer.chrome.com/apps/browser#method-openTab