Как открыть ссылку из всплывающего окна расширения Google Chrome на той же вкладке под ней? - PullRequest
5 голосов
/ 22 сентября 2010

Я хочу, чтобы ссылка отображалась на вкладке ниже, в результате чего всплывающее окно исчезло.

В настоящее время есть это:

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

Но _blanks открывается в новой вкладке.Любая помощь будет принята с благодарностью - спасибо!

1 Ответ

7 голосов
/ 22 сентября 2010

Сначала вам нужно получить текущую выбранную вкладку, 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.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...