Подтвердить что ты не робот

API расширения Chrome для обновления страницы

Существует ли API для программного обновления текущей вкладки внутри кнопки действия браузера? У меня настроена фоновая страница, которая прикрепляет слушателя через:

chrome.browserAction.onClicked.addListener(function(tab) { ... });

Таким образом, функция обратного вызова извлекает ссылку на вкладку, с которой она была нажата, но я не вижу API где-нибудь, чтобы обновить/перезагрузить эту вкладку.

4b9b3361

Ответ 1

Я рекомендую использовать chrome.tabs.executeScript для ввода javascript, который вызывает window.location.reload() на текущей вкладке. Что-то вроде:

chrome.tabs.getSelected(null, function(tab) {
  var code = 'window.location.reload();';
  chrome.tabs.executeScript(tab.id, {code: code});
});

Ссылка здесь

Ответ 2

Я думаю, что вы ищете:

chrome.tabs.reload(integer tabId, object reloadProperties, function callback)

Подробнее вкладки API() для получения дополнительной информации.

Ответ 3

API для chrome.tabs.getSelected(), который использует принятый ответ, устарел. Вместо этого вы должны получить текущую вкладку и перезагрузить ее, используя следующее:

chrome.tabs.query({active: true, currentWindow: true}, function (arrayOfTabs) {
    var code = 'window.location.reload();';
    chrome.tabs.executeScript(arrayOfTabs[0].id, {code: code});
});

Или, возможно:

chrome.tabs.query({active: true, currentWindow: true}, function (arrayOfTabs) {
    chrome.tabs.reload(arrayOfTabs[0].id);
});

Мне не повезло со второй версией, хотя другие ответы, похоже, подсказывают, что это должно сработать. API, похоже, тоже предлагает это.

Ответ 4

Более конкретно:

chrome.tabs.getSelected(null, function(tab) {
    chrome.tabs.reload(tab.id);
});

Ответ 5

вы также можете использовать это:

chrome.tabs.reload(функция() {});

параметры функции перезагрузки: integer tabId, object reloadProperties, обратный вызов функции

ссылка: http://developer.chrome.com/extensions/tabs.html#method-reload