我的第一个问题,希望我问的是正确的。我找遍了和它不能发现任何东西。

基本上,我有下面的代码,它的作用是youtube.com/watch网页上即可显示在地址栏中显示图标,如果点击该图标,把它的高品质拇指它改造成的localStorage和然后打开thumb.html刚刚抓起那localStorage的值,并在页面上显示的图像。我发现,如果我打在地址栏输入加载页面,并单击该图标,它工作正常,但如果我通过页面导航到另一个视频,点击它,它会打开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.addListenerchrome.tabs.onUpdated.addListener外部。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top