Удлинитель Google Chrome открывает несколько вкладок на клик

StackOverflow https://stackoverflow.com/questions/4611954

Вопрос

Мой первый вопрос, надеюсь, я спрашиваю это правильно. Я искал по всему и не могу ничего найти на этом.

В принципе, у меня есть следующий код, то, что он делает, когда на странице YouTube.com/watch он показывает значок в адресной строке, если вы нажмете этот значок, он положил высокое качество большого пальца, который он реконструирован в локальную табличку, а затем открывает большой палец .html, который просто захватывает это значение LocalStorage и отображает изображение на странице. Я заметил, если я нажму в Enter в адресной строке, чтобы загрузить страницу и щелкнуть значок, он работает нормально, но если я перейду на другое видео через страницу и нажимаю на него, он открывает 2 страницы, если я перехожу на 3-й страницу , он открывает 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'});
                    }
                });
            }
    }
});
Это было полезно?

Решение

Нашел проблему. Мне нужно было переместить chrome.pageAction.onClicked.addListener вне chrome.tabs.onUpdated.addListener.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top