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

时间:2016-04-10 06:36:55

标签: javascript google-chrome-app

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

以下是清单的开头......

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

我只是想让它现在打开一个新的标签到网站,而不是启动一个打包的应用程序。所以我尝试了以下......

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

发生错误:无法处理您的商品。

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

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

发生错误:无法处理您的商品。

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

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

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://stackoverflow.com/"
  a.target = "_blank"
  document.body.appendChild(a)
  a.click()
</script>

我终于能够成功添加一个带有...的新标签页

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

在我的background.js脚本中。

但是发生以下错误......

enter image description here

我点击了"Learn More"按钮,但这也给了我同样的“喔,啪!”页

有谁知道为什么我无法在Chrome打包应用中打开新标签?

我打算如何在Chrome打包应用中打开新标签?

1 个答案:

答案 0 :(得分:2)

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

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