Показать сообщение отдельно
  #9 (permalink)  
Старый 03.08.2019, 20:35
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Странно.
Делаю так:
chrome.runtime.onMessage.addListener(
    function (request, sender) {

        if (request.updateFrontPage) {

            chrome.tabs.query({url: request.url}, function (tabs) {

                // tabs.forEach(({id}) => chrome.tabs.update(id));

                tabs.forEach( tab => console.log(tab) );

            });
        }

    }
);


В консоле для фоновой страницы выводит:
active: true
audible: false
autoDiscardable: true
discarded: false
favIconUrl: "https://example.com/favicon.ico"
height: 939
highlighted: true
id: 2149
incognito: false
index: 0
mutedInfo: {muted: false}
pinned: false
selected: true
status: "complete"
title: "Название статьи"
url: "https://example.com/category/article"
width: 1680
windowId: 162


Параметры правильные - от той страницы которую нужно обновить.

Делаю так:
chrome.runtime.onMessage.addListener(
    function (request, sender) {
        if (request.updateFrontPage) {

            chrome.tabs.query({url: request.url}, function (tabs) {

                tabs.forEach(tab => chrome.tabs.update( tab.id, {} ));

            });

        }
    }
);


Вообще ничего не происходит.

А если в update передавать только один параметр:
tabs.forEach(tab => chrome.tabs.update( tab.id ));

то выдаёт ошибку
Цитата:
Error handling response: TypeError: Error in invocation of tabs.update(optional integer tabId, object updateProperties, optional function callback): No matching signature.
Ответить с цитированием