ads
8 months ago
control
8 months ago
img
10 years ago
blocker.js
2 weeks ago
blocker.min.js
2 weeks ago
embed.js
5 years ago
embed.min.js
7 months ago
front.js
3 days ago
front.min.js
3 days ago
jquery-ui-timepicker-addon.js
10 years ago
jquery-ui-timepicker-addon.min.js
7 months ago
jquery.dataTables.min.js
1 year ago
jquery.validate.js
7 months ago
jquery.validate.min.js
2 weeks ago
jqueryFileTree.js
5 years ago
jqueryFileTree.min.js
7 months ago
overwatch.js
7 months ago
overwatch.min.js
7 months ago
password-strength.js
2 years ago
password-strength.min.js
7 months ago
simple-scrollbar.js
7 months ago
simple-scrollbar.min.js
7 months ago
simplebar.js
6 years ago
validator.min.js
9 years ago
vue.js
9 months ago
vue.min.js
9 months ago
wpdm-admin.js
2 weeks ago
wpdm-admin.min.js
2 weeks ago
wpdm.js
6 months ago
wpdm.min.js
6 months ago
blocker.min.js
1 lines
| 1 | async function detectAdblock({timeoutMs=2500}={}){ensureBait();const controlOk=await loadScript(wpdm_url.site+"wp-content/plugins/download-manager/assets/js/control/ping.js",timeoutMs);const decoyOk=await loadScript(wpdm_url.site+"wp-content/plugins/download-manager/assets/js/ads/adserver.js",timeoutMs);const baitHidden=isBaitHidden();const likelyAdblock=controlOk&&!decoyOk;return{isAdblock:likelyAdblock||likelyAdblock&&baitHidden,details:{controlOk:controlOk,decoyOk:decoyOk,baitHidden:baitHidden}}}function loadScript(src,timeoutMs){return new Promise(resolve=>{const s=document.createElement("script");s.src=src+(src.includes("?")?"&":"?")+"v="+Date.now();s.async=true;let settled=false;const done=ok=>{if(!settled){settled=true;resolve(ok)}};const timer=setTimeout(()=>done(false),timeoutMs);s.onload=()=>{clearTimeout(timer);done(true)};s.onerror=()=>{clearTimeout(timer);done(false)};document.head.appendChild(s)})}function ensureBait(){if(document.getElementById("__ad_bait__"))return;const bait=document.createElement("div");bait.id="__ad_bait__";bait.className="ads ad ad-banner adsbox ad-wrapper";Object.assign(bait.style,{position:"absolute",left:"-9999px",top:"-9999px",width:"1px",height:"1px",pointerEvents:"none"});document.body.appendChild(bait)}function isBaitHidden(){const el=document.getElementById("__ad_bait__");if(!el)return false;const cs=getComputedStyle(el);const hidden=el.offsetParent===null||cs.display==="none"||cs.visibility==="hidden"||parseInt(cs.height,10)===0||parseInt(cs.width,10)===0||cs.opacity==="0";return hidden}jQuery(function($){detectAdblock().then(({isAdblock,details})=>{console.log("Adblock?",isAdblock,details);if(isAdblock){const body=$("body");$(".wpdm-download-link.download-on-click").removeAttr("data-downloadurl");body.on("click",".wpdm-download-link.download-on-click",function(e){$(this).removeAttr("data-downloadurl");WPDM.bootAlert("Ad blocker detected",abmsg);return false});const observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){mutation.addedNodes.forEach(function(node){if(node.nodeType===1){if($(node).hasClass("wpdm-download-link")&&$(node).hasClass("download-on-click")){$(node).removeAttr("data-downloadurl")}$(node).find(".wpdm-download-link.download-on-click").removeAttr("data-downloadurl")}})})});observer.observe(document.body,{childList:true,subtree:true});if(abmsgd==="site"||abmsgd==="package"&&iswpdmpropage)WPDM.bootAlert("Ad blocker detected",abmsg)}})}); |