This code lets you detect with a high degree of reliability if a user is blocking NitroPay's ad script.

Embed the following script anywhere on your page

<script type="text/javascript">
var npDetect = new (function () {
this.blocking = false;
var errcnt = 0;
function testImg() {
var i = new Image();
i.onerror = () => {
errcnt++;
if (errcnt < 3) {
setTimeout(testImg, 250);
} else {
npDetect.blocking = true;

if (document.dispatchEvent && window.CustomEvent) {
document.dispatchEvent(
new CustomEvent('np.blocking', {
detail: {
blocking: npDetect.blocking,
},
})
);
}
}
};
i.onload = () => {
npDetect.blocking = false;
};

i.src = 'https://s.nitropay.com/1.gif?' + Math.random() + '&adslot=';
}
testImg();
})();
</script>

Embed this script to listen for the np.blocking event. You should perform whatever task is necessary such as re-adjusting your layout or displaying an appeal to the user if this event is fired.

<script type="text/javascript">
document.addEventListener('np.blocking', (e) => {
if (e.detail.blocking) {
// the user is blocking the nitropay script
}
});
</script>

Did this answer your question?