2014-11-15 156 views
0

仅供参考,这里是我的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") }); 
}); 

最后,这里是我的问题:它不希望在新标签中打开。有人能帮助我做到这一点吗?

回答

2

您在混合extension APIChrome app APIs。 API中有一些重叠,但也有一些API仅可用于其中一个。您的当前清单声明Chrome app。如果您真的想拥有Chrome应用,那么您无法在浏览器中创建标签。要启动UI,您必须使用chrome.app.window API创建一个窗口(create)。

如果您更愿意集成到浏览器中,那么您必须创建an extension。清单文件与应用程序类似,但您必须删除"app"(如下所示)。扩展程序在启动器中没有图标,也无法访问chrome.app.runtime API,因此您必须选择不同的启动UI的方式,例如通过browser action

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

既然你正在开发一个IRC客户端,你可能想创建一个Chrome应用,而不是一个扩展。 chrome.sockets可用于使用TCP上的IRC进行通信(此低级网络API不可用于扩展)。

+0

谢谢Rob。将来可能会有应用程序可以打开而不是全新窗口的选项卡吗? – bitcycle

+0

@bitcycle不要指望它。 –

+0

伤心。我挖掘我的浏览器。 – bitcycle

相关问题