diff --git a/lib/plugins/busuanzi.js b/lib/plugins/busuanzi.js index 9186078a..63a2043b 100644 --- a/lib/plugins/busuanzi.js +++ b/lib/plugins/busuanzi.js @@ -1,54 +1,94 @@ /* eslint-disable */ let bszCaller, bszTag, scriptTag, ready -let t; let e; let n; let a = !1 -let c = [] +let intervalId; +let executeCallbacks; +let onReady; +let isReady = false; +let callbacks = []; // 修复Node同构代码的问题 if (typeof document !== 'undefined') { - ready = function (t) { - return a || document.readyState === 'interactive' || document.readyState === 'complete' - ? t.call(document) - : c.push(function () { - return t.call(this) - }), this - }, e = function () { - for (let t = 0, e = c.length; t < e; t++) c[t].apply(document) - c = [] - }, n = function () { - a || (a = !0, e.call(window), - document.removeEventListener ? document.removeEventListener('DOMContentLoaded', n, !1) : document.attachEvent && (document.detachEvent('onreadystatechange', n), window == window.top && (clearInterval(t), t = null))) - }, document.addEventListener - ? document.addEventListener('DOMContentLoaded', n, !1) - : document.attachEvent && (document.attachEvent('onreadystatechange', function () { - /loaded|complete/.test(document.readyState) && n() - }), window == window.top && (t = setInterval(function () { - try { - a || document.documentElement.doScroll('left') - } catch (t) { - return + ready = function (callback) { + if (isReady || document.readyState === 'interactive' || document.readyState === 'complete') { + callback.call(document); + } else { + callbacks.push(function () { + return callback.call(this); + }); + } + return this; + }; + + executeCallbacks = function () { + for (let i = 0, len = callbacks.length; i < len; i++) { + callbacks[i].apply(document); + } + callbacks = []; + }; + + onReady = function () { + if (!isReady) { + isReady = true; + executeCallbacks.call(window); + if (document.removeEventListener) { + document.removeEventListener('DOMContentLoaded', onReady, false); + } else if (document.attachEvent) { + document.detachEvent('onreadystatechange', onReady); + if (window == window.top) { + clearInterval(intervalId); + intervalId = null; + } } - n() - }, 5))) + } + }; + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', onReady, false); + } else if (document.attachEvent) { + document.attachEvent('onreadystatechange', function () { + if (/loaded|complete/.test(document.readyState)) { + onReady(); + } + }); + if (window == window.top) { + intervalId = setInterval(function () { + try { + if (!isReady) { + document.documentElement.doScroll('left'); + } + } catch (e) { + return; + } + onReady(); + }, 5); + } + } } bszCaller = { - fetch: function (t, e) { - const n = 'BusuanziCallback_' + Math.floor(1099511627776 * Math.random()) - t = t.replace('=BusuanziCallback', '=' + n) - scriptTag = document.createElement('SCRIPT'), scriptTag.type = 'text/javascript', scriptTag.defer = !0, scriptTag.src = t, scriptTag.referrerPolicy = "no-referrer-when-downgrade", document.getElementsByTagName('HEAD')[0].appendChild(scriptTag) - window[n] = this.evalCall(e) + fetch: function (url, callback) { + const callbackName = 'BusuanziCallback_' + Math.floor(1099511627776 * Math.random()) + url = url.replace('=BusuanziCallback', '=' + callbackName) + scriptTag = document.createElement('SCRIPT'); + scriptTag.type = 'text/javascript'; + scriptTag.defer = true; + scriptTag.src = url; + scriptTag.referrerPolicy = "no-referrer-when-downgrade"; + document.getElementsByTagName('HEAD')[0].appendChild(scriptTag); + window[callbackName] = this.evalCall(callback) }, - evalCall: function (e) { - return function (t) { + evalCall: function (callback) { + return function (data) { ready(function () { try { - e(t) + callback(data); if (scriptTag && scriptTag.parentElement && scriptTag.parentElement.contains(scriptTag)) { - scriptTag.parentElement.removeChild(scriptTag) + scriptTag.parentElement.removeChild(scriptTag); } - } catch (t) { - // console.log(t), bszTag.hides() + } catch (e) { + // console.log(e); + // bszTag.hides(); } }) } @@ -56,41 +96,44 @@ bszCaller = { } const fetch = () => { - bszTag && bszTag.hides() - bszCaller.fetch('//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback', function (t) { - // console.log('不蒜子',t) - bszTag.texts(t), bszTag.shows() + if (bszTag) { + bszTag.hides(); + } + bszCaller.fetch('//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback', function (data) { + // console.log('不蒜子',data) + bszTag.texts(data); + bszTag.shows(); }) } bszTag = { bszs: ['site_pv', 'page_pv', 'site_uv'], - texts: function (n) { - this.bszs.map(function (t) { - const e = document.getElementsByClassName('busuanzi_value_' + t) - if(e){ - for (var element of e) { - element.innerHTML = n[t] + texts: function (data) { + this.bszs.map(function (key) { + const elements = document.getElementsByClassName('busuanzi_value_' + key) + if (elements) { + for (var element of elements) { + element.innerHTML = data[key]; } } }) }, hides: function () { - this.bszs.map(function (t) { - const e = document.getElementsByClassName('busuanzi_container_' + t) - if(e){ - for (var element of e){ - element.style.display = 'none' + this.bszs.map(function (key) { + const elements = document.getElementsByClassName('busuanzi_container_' + key) + if (elements) { + for (var element of elements) { + element.style.display = 'none'; } } }) }, shows: function () { - this.bszs.map(function (t) { - const e = document.getElementsByClassName('busuanzi_container_' + t) - if(e){ - for(var element of e){ - element.style.display = 'inline' + this.bszs.map(function (key) { + const elements = document.getElementsByClassName('busuanzi_container_' + key) + if (elements) { + for (var element of elements) { + element.style.display = 'inline'; } } }) diff --git a/pushUrl.py b/pushUrl.py index a1ac7844..181b267e 100644 --- a/pushUrl.py +++ b/pushUrl.py @@ -13,7 +13,7 @@ ssl._create_default_https_context = ssl._create_unverified_context QUOTA = 100 -def parse_stiemap(site): +def parse_sitemap(site): site = f'{site}/sitemap.xml' try: result = requests.get(site) @@ -78,7 +78,7 @@ if __name__ == '__main__': if args.url: # 解析urls - urls = parse_stiemap(args.url) + urls = parse_sitemap(args.url) if urls is not None: # 判断当前urls数量是否超过额度,若超过则取当日最大值,默认为100,可根据实际情况修改 if len(urls) > QUOTA: