为什么Chrome标签没有工作?

时间:2014-11-15 19:44:13

标签: javascript google-chrome-extension tabs irc

供参考,这是我的project

这是我的清单:

{
  "name": "Chatty",
  "description": "Yet another IRC client written as a Chrome application",
  "version": "0.0.1",
  "manifest_version": 2,
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  }
}

这是我想要在新标签页中打开的SUPER基本网页:

<!doctype HTML>
<html>
  <body>
    Hello, Chatty IRC client!
  </body>
</html>

而且,这就是我一直试图打开新标签的方式:

chrome.app.runtime.onLaunched.addListener(function(){ 
  chrome.tabs.create({ url: chrome.extensions.getUrl("irc.html") });
});

最后,这是我的问题:它不想在新标签页中打开。有人可以帮我搞定吗?

1 个答案:

答案 0 :(得分:2)

您正在将extension APIChrome app APIs混合。 API中有一些重叠,但也有一些API仅适用于一个

您当前的清单声明Chrome app。如果您确实想拥有Chrome应用,则无法在浏览器中创建标签。要启动用户界面,您必须使用chrome.app.window API创建一个窗口(create)。

如果您希望在浏览器中集成,则必须创建an extension。清单文件与应用程序类似,但您必须删除"app"(如下所示)。扩展程序在启动器中没有图标,也无法访问chrome.app.runtime API,因此您必须选择其他方式启动用户界面,例如通过browser action

{
  "name": "Chatty",
  "version": "0.0.1",
  "manifest_version": 2,
  "background": {
    "scripts": ["background.js"]
  }
}

由于您正在开发IRC客户端,因此您可能希望创建Chrome应用而不是扩展程序。 chrome.sockets可用于通过TCP使用IRC进行通信(此低级网络API不适用于扩展)。