Frage

meine erste Frage, hoffentlich frage ich es richtig. Ich suchte alle über und kann nichts auf ihm finden.

Im Grunde genommen habe ich den folgenden Code haben, was sie tut, ist, wenn sie auf einer Seite youtube.com/watch es ein Symbol in der Adressleiste zeigt, wenn Sie auf das Symbol klicken, wird es ausdrückte ist die hohe Qualität Daumen es in localstorage rekonstruiert und thumb.html dann öffnet die gerade packt, dass localstorage-Wert und zeigt das Bild auf der Seite. Ich habe bemerkt, wenn ich in der Adressleiste eingeben drücken Sie die Seite zu laden, und das Symbol klicken, es funktioniert gut, aber wenn ich über die Seite zu einem anderen Video navigieren und klicken Sie darauf, öffnet es zwei Seiten, wenn ich zu einer dritten Seite gehen , öffnet es 3 Seiten, so weiter, und so fort. Ich weiß einfach nicht, was los ist.

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'});
                    }
                });
            }
    }
});
War es hilfreich?

Lösung

Gefunden das Problem. Ich brauchte die chrome.pageAction.onClicked.addListener außerhalb des chrome.tabs.onUpdated.addListener zu bewegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top