供参考,这是我的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") });
});
最后,这是我的问题:它不想在新标签页中打开。有人可以帮我搞定吗?
答案 0 :(得分:2)
您正在将extension API与Chrome 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不适用于扩展)。