jprim
jprim

Reputation: 1353

How do I have a link from a Google Chrome extension popup open in the same tab underneath?

I want the link to appear in the tab beneath resulting in the popup going away.

Currently have this:

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

But the _blanks opens in a new tab. Any help would be greatly appreciated - thanks!

Upvotes: 5

Views: 4679

Answers (1)

Mohamed Mansour
Mohamed Mansour

Reputation: 40159

You would need to get the current selected tab first via, http://code.google.com/chrome/extensions/tabs.html#method-getSelected

Then you use the tab.id, that the callback has fired, and updating it with a url: http://code.google.com/chrome/extensions/tabs.html#method-update

For example:

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

If you want to let every link in the popup page to update the current tab opened. You can do the following (as you mentioned within the comments but with 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.
});

Upvotes: 7

Related Questions