2011-01-06 3 views
2

ma première question, j'espère que je le demande à droite. J'ai cherché partout et je n'y trouve rien. Fondamentalement, j'ai le code suivant, ce qu'il fait quand sur une page youtube.com/watch il montre une icône dans la barre d'adresse, si vous cliquez sur cette icône, il met le pouce de haute qualité, il reconstruit en localstorage puis ouvre thumb.html qui saisit juste cette valeur localstorage et affiche l'image sur la page. J'ai remarqué que si je tapais dans la barre d'adresse pour charger la page, et que je cliquais sur l'icône, ça marchait bien, mais si je navigue vers une autre vidéo via la page et que je clique dessus, ça ouvre 2 pages , il ouvre 3 pages, et ainsi de suite. Je ne sais pas ce qui se passe.extension Google Chrome ouverture de plusieurs onglets sur cliquez

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'}); 
        } 
       }); 
      } 
    } 
}); 

Répondre

2

a trouvé le problème. J'avais besoin de déplacer le chrome.pageAction.onClicked.addListener en dehors du chrome.tabs.onUpdated.addListener.

Questions connexes