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

问题描述 投票:20回答:3

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

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

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

google-chrome google-chrome-extension
3个回答
21
投票

为什么要在新标签中打开popup.html?您应该为此创建一个不同的页面。无论如何,如果你想打开popup.html,在新标签中,你需要传入扩展URL。

http://code.google.com/chrome/extensions/extension.html#method-getURL

chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
  // Tab opened.
});

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});
});

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,但我发现它在开发/调试我的扩展时非常有用...在扩展页面上有“通常”只有一个链接是相当痛苦的到后台页面。

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

© www.soinside.com 2019 - 2024. All rights reserved.