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

jpr*_*rim 5 javascript google-chrome google-chrome-extension

我希望链接显示在下面的选项卡中,导致弹出窗口消失.

目前有这个:

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

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

Moh*_*our 7

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

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

例如:

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

如果要让弹出页面中的每个链接更新当前打开的选项卡.您可以执行以下操作(正如您在注释中提到的但使用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.
});
Run Code Online (Sandbox Code Playgroud)