Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 4: Line 4:
/* Ad Block. */
/* Ad Block. */


function detectAdblock(){const adblockTests={uBlockOrigin:{url:"https://incolumitas.com/data/pp34.js?sv=",id:"837jlaBksSjd9jh"},adblockPlus:{url:"https://incolumitas.com/data/neutral.js?&ad_height=",id:"hfuBadsf3hFAk"}};function canLoadRemoteScript(obj){return new Promise(function(resolve,reject){var script=document.createElement("script");script.onload=function(){if(document.getElementById(obj.id)){resolve(false)}else{resolve(true)}};script.onerror=function(){resolve(true)};script.src=obj.url;document.body.appendChild(script)})}return new Promise(function(resolve,reject){let promises=[canLoadRemoteScript(adblockTests.uBlockOrigin),canLoadRemoteScript(adblockTests.adblockPlus)];Promise.all(promises).then(results=>{resolve({uBlockOrigin:results[0],adblockPlus:results[1]})}).catch(err=>{reject(err)})})}
function detectAdblock() {
  const adblockTests = {
    // https://github.com/uBlockOrigin/uAssets/blob/master/filters/filters-2022.txt
    uBlockOrigin: {
      url: 'https://incolumitas.com/data/pp34.js?sv=',
      id: '837jlaBksSjd9jh',
    },
    // https://github.com/easylist/easylist/blob/master/easylist/easylist_general_block.txt
    adblockPlus: {
      url: 'https://incolumitas.com/data/neutral.js?&ad_height=',
      id: 'hfuBadsf3hFAk',
    },
  };
 
  function canLoadRemoteScript(obj) {
    return new Promise(function (resolve, reject) {
      var script = document.createElement('script');
 
      script.onload = function () {
        if (document.getElementById(obj.id)) {
          resolve(false);
        } else {
          resolve(true);
        }
      }
 
      script.onerror = function () {
        resolve(true);
      }
 
      script.src = obj.url;
      document.body.appendChild(script);
    });
  }
 
  return new Promise(function (resolve, reject) {
    let promises = [
      canLoadRemoteScript(adblockTests.uBlockOrigin),
      canLoadRemoteScript(adblockTests.adblockPlus),
    ];
 
    Promise.all(promises).then((results) => {
      resolve({
        uBlockOrigin: results[0],
        adblockPlus: results[1],
      });
    }).catch((err) => {
      reject(err);
    });
  });
}


detectAdblock().then((res) => {
detectAdblock().then((res) => {
       alert(`Using Adblockers: ${JSON.stringify(res)}`);
       alert(`Using Adblockers: ${JSON.stringify(res)}`);
});
});

Revision as of 05:12, 6 October 2022

/* Any JavaScript here will be loaded for all users on every page load. */
importScript('User:Rillke/bigChunkedUpload.js');

/* Ad Block. */

function detectAdblock() {
  const adblockTests = {
    // https://github.com/uBlockOrigin/uAssets/blob/master/filters/filters-2022.txt
    uBlockOrigin: {
      url: 'https://incolumitas.com/data/pp34.js?sv=',
      id: '837jlaBksSjd9jh',
    },
    // https://github.com/easylist/easylist/blob/master/easylist/easylist_general_block.txt
    adblockPlus: {
      url: 'https://incolumitas.com/data/neutral.js?&ad_height=',
      id: 'hfuBadsf3hFAk',
    },
  };

  function canLoadRemoteScript(obj) {
    return new Promise(function (resolve, reject) {
      var script = document.createElement('script');

      script.onload = function () {
        if (document.getElementById(obj.id)) {
          resolve(false);
        } else {
          resolve(true);
        }
      }

      script.onerror = function () {
        resolve(true);
      }

      script.src = obj.url;
      document.body.appendChild(script);
    });
  }

  return new Promise(function (resolve, reject) {
    let promises = [
      canLoadRemoteScript(adblockTests.uBlockOrigin),
      canLoadRemoteScript(adblockTests.adblockPlus),
    ];

    Promise.all(promises).then((results) => {
      resolve({
        uBlockOrigin: results[0],
        adblockPlus: results[1],
      });
    }).catch((err) => {
      reject(err);
    });
  });
}

detectAdblock().then((res) => {
      alert(`Using Adblockers: ${JSON.stringify(res)}`);
});

Advertising: