我创建了一个Chrome扩展程序,并设法使用popup.html
打开window.open
文件。但是我想在新标签中打开它,我尝试了很多不同的方法,包括:
<script type="text/javascript" language="JavaScript">
chrome.tabs.create('url': 'popup.html');
我只是将代码放在错误的地方,还是完全错误的代码?
答案 0 :(得分:21)
为什么要在新标签页中打开popup.html?您应该为此创建一个不同的页面。无论如何,如果你想打开popup.html,在新标签中,你需要传入扩展网址。
http://code.google.com/chrome/extensions/extension.html#method-getURL
chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
// Tab opened.
});
答案 1 :(得分:7)
现在,您可以在单击扩展程序图标时使用Event Pages在新选项卡中打开popup.html而不创建default_popup页面。
清单:
"background": {
"scripts": ["background.js"],
"persistent": false
}
JS:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('popup.html'), 'selected': true});
});
答案 2 :(得分:3)
使用chrome {.tabs.create(对象属性,函数回调),如http://code.google.com/chrome/extensions/tabs.html
所述对象属性可以包含windowId,index,url和selected的字段。可选的回调函数接收新创建的选项卡的Tab对象。
因此,在当前窗口中创建新选项卡并将其选中的最简单示例如下所示:
chrome.tabs.create({'url': chrome.extension.getURL('popup.html')});
不确定为什么要在新标签页中显示popup.html,但我发现它在开发/调试我的扩展程序时非常有用...在扩展页面上有“通常”这是非常痛苦的只有背景页面的链接。
很想知道如何在新窗口中打开它,也许在自助服务终端模式下打开它; - )