2011-01-06 6 views
2

私の最初の質問ですが、うまくいけば私はそれを正しく求めています。私は全面的に検索し、それについて何も見つけることができません。Google Chromeの拡張機能で複数のタブが開いている

基本的には、youtube.com/watchページでアドレスバーにアイコンが表示され、アイコンをクリックすると高品質の親指がローカルストレージに再配置されます次に、そのlocalstorageの値を取得してページにイメージを表示するthumb.htmlを開きます。アドレスバーのEnterキーを押してページを読み込んでアイコンをクリックすると、うまくいきますが、ページを介して別のビデオに移動してクリックすると、3ページ目に移動すると2ページが開きます、それは3ページを開くなどのようになります。私はちょうど何が起こっているのか分からない。

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

答えて

2

問題が見つかりました。私はchrome.pageAction.onClicked.addListenerchrome.tabs.onUpdated.addListenerの外に移動する必要がありました。

関連する問題