chrome扩展程序后台js与服务器进行通信,并在通信延迟期间尝试保持浮动

时间:2018-11-03 15:07:24

标签: google-chrome google-chrome-extension

服务器在chrome扩展后台js中与服务器通信需要花费很长时间。因此,在响应值即将到来时,您必须保持安静。我应该使用哪种方法?

background.js

chrome.tabs.onUpdated.addListener(function (tabId, tab, changeInfo) {
            let url = changeInfo.url;
            if (url != localStorage.getItem('url')){
                chrome.tabs.executeScript({
                    code: 'document.URL'
                },function (domain) {
                    localStorage.setItem('url', domain);
                })
            }
            else



                var xhr = new XMLHttpRequest();

                xhr.onload = function () {
                if (xhr.status === 200 || xhr.status === 201) {
                    let a = JSON.parse(xhr.responseText);
                    let b = a.count;
                    let c = a.check;
                    if(c == true){
                        alert('베너가 ' + b + '개 검출된 사이트입니다.');
                        localStorage.setItem('blocked', changeInfo.url);
                        chrome.tabs.executeScript({
                            code: 'history.go(-1)'
                        })
                    }
                    else
                        alert('오류')
                } else {
                    console.error(xhr.responseText);
                }
            };
                xhr.open('POST', 'http://soylatte.kr:3000/image/check');
                xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                xhr.send('url=' + changeInfo.url);

        })

0 个答案:

没有答案