Domanda

la mia prima domanda, si spera sto chiedendo a destra. Ho cercato dappertutto e non riesco a trovare nulla su di esso.

In sostanza, ho il seguente codice, ciò che fa è quando in una pagina youtube.com/watch mostra un'icona nella barra degli indirizzi, se si fa clic su questa icona, ha messo il pollice di alta qualità è ricostruita in localStorage e poi apre thumb.html che ha appena afferra quel valore localStorage e visualizza l'immagine sulla pagina. Ho notato che se mi ha colpito entrare nella barra degli indirizzi per caricare la pagina, e fare clic sull'icona, funziona benissimo, ma se ci si dirige verso un altro video tramite la pagina e fare clic su di esso, si apre 2 pagine, se vado a un 3 ° pagina , si apre 3 pagine, così via, e così via. Io proprio non so cosa sta succedendo.

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab)
{
    updatedTab = tab;
    updatedTabId = tabId;
    if(changeInfo.status == 'complete')
    {
            if(updatedTab.url.indexOf('youtube.com/watch') != -1) 
            {
                chrome.pageAction.show(tabId);
                chrome.pageAction.onClicked.addListener(function(tab)
                {
                    if(window === top)
                    {
                        var yt = tab.url.split('v=');
                        var yt = yt[1].split('&');
                        var yURL = 'http://www.youtube.com/watch?v='+yt[0];
                        var yThumb = 'http://i2.ytimg.com/vi/'+yt[0]+'/hqdefault.jpg';
                        localStorage.setItem('ytHQthumb', yThumb); 
                        chrome.tabs.create({'url': 'thumb.html'});
                    }
                });
            }
    }
});
È stato utile?

Soluzione

Trovato il problema. Avevo bisogno di spostare l'esterno chrome.pageAction.onClicked.addListener del chrome.tabs.onUpdated.addListener.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top