Question

ma première question, je l'espère je demande juste. Je cherchai partout et ne trouve rien là-dessus.

En fait, je le code suivant, ce qu'il fait est quand sur une page youtube.com/watch il affiche une icône dans la barre d'adresse, si vous cliquez sur cette icône, il a mis est le pouce de haute qualité, il reconstruit dans localStorage et ouvre alors thumb.html qui prend juste cette valeur localStorage et affiche l'image sur la page. J'ai remarqué si je frappe entrer dans la barre d'adresse pour charger la page et cliquez sur l'icône, il fonctionne très bien, mais si je navigue à une autre vidéo sur la page et cliquez dessus, il ouvre 2 pages, si je vais à une 3ème page , il ouvre 3 pages, ainsi de suite, et ainsi de suite. Je ne sais pas ce qui se passe.

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'});
                    }
                });
            }
    }
});
Était-ce utile?

La solution

trouvé le problème. Je avais besoin de déplacer le chrome.pageAction.onClicked.addListener extérieur du chrome.tabs.onUpdated.addListener.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top