Функция обратного вызова Chrome Extension после создания вкладок не работает - PullRequest
0 голосов
/ 29 октября 2018

Я создаю вкладку, затем я не могу использовать функцию обратного вызова

   document.getElementById("login").addEventListener('click', function(){
    chrome.tabs.query({}, function(tabs){
      chrome.tabs.query({active: true,currentWindow: true}, function (tabs) {
        chrome.tabs.create({url: url_homepage, active: true}, function (tabs){
          alert('abc');
        });
      });
    });
  });

Но это не работает, я пытаюсь использовать chrome.tabs.onUpdated.addListener вот так

  document.getElementById("login").addEventListener('click', function(){
chrome.tabs.query({}, function(tabs){
  chrome.tabs.query({active: true,currentWindow: true}, function (tabs) {
    chrome.tabs.create({url: url_homepage, active: true}, function (tabs){
      chrome.tabs.onUpdated.addListener(function listenEvent(tabid,info,tab){
        if(info.status == "complete" && tab.url.indexOf(url_homepage) != -1 ){
          alert('abc');
        }
      });
    });
  });
});

Но это все еще неработает Кто-нибудь может мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 29 октября 2018

При создании новой вкладки просто наберите active: false. Используйте active: true, если хотите сфокусироваться на вновь созданной вкладке.

Кроме того, вам не нужно запрашивать вкладки при создании новой вкладки.

Изменить этот код:

document.getElementById("login").addEventListener('click', function(){
    chrome.tabs.query({}, function(tabs){
      chrome.tabs.query({active: true,currentWindow: true}, function (tabs) {
        chrome.tabs.create({url: url_homepage, active: true}, function (tabs){
          alert('abc');
        });
      });
    });
  });

Чтобы это тоже работало.

document.getElementById("login").addEventListener('click', function(){
    chrome.tabs.create({url: url_homepage, active: false}, function (tabs){
      alert('abc');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...