Chrome扩展程序:onclick扩展程序图标,在新标签页中打开popup.html

时间:2010-03-09 20:20:02

标签: google-chrome google-chrome-extension

我创建了一个Chrome扩展程序,并设法使用popup.html打开window.open文件。但是我想在新标签中打开它,我尝试了很多不同的方法,包括:

<script type="text/javascript" language="JavaScript">
  chrome.tabs.create('url': 'popup.html');

我只是将代码放在错误的地方,还是完全错误的代码?

3 个答案:

答案 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,但我发现它在开发/调试我的扩展程序时非常有用...在扩展页面上有“通常”这是非常痛苦的只有背景页面的链接。

很想知道如何在新窗口中打开它,也许在自助服务终端模式下打开它; - )