如何在下方的同一标签中打开Goog​​le Chrome扩展程序弹出窗口中的链接?

时间:2010-09-21 22:35:50

标签: javascript google-chrome google-chrome-extension

我希望链接显示在下面的标签中,导致弹出窗口消失。

目前有这个:

//Open links in tab from popup
if (document.location.search == '?popup')
$('a').attr('target', '_blank');

但_blanks在新标签中打开。任何帮助将不胜感激 - 谢谢!

1 个答案:

答案 0 :(得分:7)

您需要首先获取当前选定的标签, http://code.google.com/chrome/extensions/tabs.html#method-getSelected

然后你使用tab.id,回调已经触发,并用url更新它: http://code.google.com/chrome/extensions/tabs.html#method-update

例如:

chrome.tabs.getSelected({}, function(tab) {
  chrome.tabs.update(tab.id, {url: 'http://google.com'});
});

如果要让弹出页面中的每个链接更新当前打开的选项卡。您可以执行以下操作(正如您在注释中提到的但使用currentTarget):

$('a').live('click', function(e) {
  var href = e.currentTarget.href;
  chrome.tabs.getSelected(null,function(tab) {
    chrome.tabs.update(tab.id, {url: href});
  });
  window.close(); // To close the popup.
});