Отправить сообщение на контент скрипта из фона с задержкой? расширение Chrome

Я хочу переслать сообщение из фона в контентный скрипт, однако я хочу, чтобы фон отправлял сообщение через определенное время, вот мой код:

фон:

chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
    if (msg.id == "openUrl") {
        var tabId = sender.tab.id;
        var url = msg.url;
        openUrl(tabId, url);
    } else if (msg.id == "background") {
        setTimeout(function() {
            chrome.tabs.query({
                active : true,
                currentWindow : true
            }, function(tabs) {
                chrome.tabs.sendMessage(tabs[0].id, {}, null);
            });
        }, 5000);
    }
});

Я получаю сообщение об ошибке:

**Error in response to tabs.query: TypeError: Cannot read property 'id' of undefined**

Я не уверен, почему Chrome API может получить выбранную вкладку?

Вы можете скачать исходный файл здесь:

https://drive.google.com/open?id=1_Hkedx8ldAeRWiFKTj4YEv_bXFUt-3CY

Спасибо.

0 ответов