$(function (){ storage = { get:function (k){ return window.localStorage ? localStorage.getItem(k) : null; }, set:function (k,v){ return window.localStorage ? localStorage.setItem(k ,v) : null; }, incr: function (k){ var v = this.get(k); return this.set(k, (v?parseInt(v):0)+1 ) }, del: function (k){ return window.localStorage && localStorage.removeItem(k) } } var referrer = document.referrer, key = 0; if (referrer.length > 0){ if (!/archives\/[\d]+/i.test(referrer)){ if (referrer.indexOf(location.host)>=0){ return ; } }else{ if(window.localStorage){ let key ="last-pop-ad", curDate = formatDate(new Date()), adDate = storage.get(key) || formatDate(0) if (curDate === adDate){ return; } storage.set(key,curDate) } } } function formatDate(date) { return (new Date(date)).toISOString().slice(0,10).replaceAll('-','') } function jmImg(selector , warpEle){ var ele = $(selector), url = ele.data('src') $.ajax(url, { xhrFields: {responseType: 'arraybuffer'} }).then((res) => { ab2b64(res).then((base64str) => { let ary = url.split('.'),decryptStr = decryptImage(base64str); ele.attr('src','data:image/'+ary.pop()+';base64,'+decryptStr); $(warpEle).show(); }); }) } function render(data){ let html = ``; $(body).append(html); jmImg('.adspop .popup-picture>img','.adspop'); } let json = []; if (json.length === 0){ return; } let tmp = []; for(var i = 0; i < json.length; i++) { if (json[i].position == 2002){ //mac if (navigator.userAgentData){ if (navigator.userAgentData.platform == 'macOS'){ tmp.push(json[i]); } }else if(/Mac\s+OS/i.test(navigator.userAgent)){ tmp.push(json[i]); } }else if (json[i].position == 2003){ // win if (navigator.userAgentData){ if (navigator.userAgentData.platform == 'Windows'){ tmp.push(json[i]); } }else if(/windows/i.test(navigator.userAgent)){ tmp.push(json[i]); } }else{ tmp.push(json[i]); } } json = tmp; render(json[key]); $(body).delegate( '.adspop .popup-close','click' ,function (){ $('.adspop').remove(); if (++key < json.length){ render(json[key]); } }) $(body).delegate( '.adspop .popup-picture','click' ,function (){ let uri = $(this).find('img').data('uri'); if (typeof(uri)!=="string" || uri.length < 1){ return ; } window.open(uri); }); })