Показать сообщение отдельно
  #12 (permalink)  
Старый 28.12.2017, 13:09
Новичок на форуме
Отправить личное сообщение для BeleK0ss Посмотреть профиль Найти все сообщения от BeleK0ss
 
Регистрация: 25.12.2017
Сообщений: 8

Огромное тебе спасибо! Все заработало. в таком вот виде:

//background.js
function handleTabRemoved(tab,response)
{
    updateTabsCount();
    if (response.isWindowClosing == false)
    {
        chrome.tabs.query({ "active": true, "windowId": response.windowId }, function (tabs)
        {
            chrome.tabs.reload(tabs[0].id, function ()
            {
                began(tabs[0].id);
            });
        });
    }
}
    
 function began(tabId) {
	setTimeout( function() {
		chrome.tabs.sendMessage(tabId, {greeting: "hello"}, function(response) 
   {});
   }, 1000);
}


//content.js
function handleTabClick() {

				document.getElementById('0').click();

}


chrome.runtime.onMessage.addListener(
  function(request, sender) {
    if (request.greeting == "hello"){
   handleTabClick();
    }
  });


Без задержки chrome.tabs.sendMessage выполняется раньше и не работает. Пришлось ставить задержку. Очень благодарен тебе за советы!
А если ли возможность заменить setTimeout на что нибудь по проще? Что бы функция выполнялась после загрузки страницы? Пробовал оформить через window.onload но функция запускается единоразово после обновления расширения и после не выполняется вовсе...
Ответить с цитированием