Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 2: Line 2:


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


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


       script.onload = function() {
       script.onload = function () {
         if (document.getElementById(obj.id)) {
         if (document.getElementById(obj.id)) {
           resolve(false);
           resolve(false);
Line 28: Line 30:
       };
       };


       script.onerror = function() {
       script.onerror = function () {
         resolve(true);
         resolve(true);
       };
       };
Line 37: Line 39:
   }
   }


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


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


detectAdblock().then((res) => {
detectAdblock().then(function (res) {
   alert("Hello Works!");
   alert("Hello Works!");
});
});

Revision as of 05:51, 6 October 2022

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

/* Ad Block. */
'use strict';

function detectAdblock() {
  var 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) {
    var promises = [canLoadRemoteScript(adblockTests.uBlockOrigin), canLoadRemoteScript(adblockTests.adblockPlus)];

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

detectAdblock().then(function (res) {
  alert("Hello Works!");
});

Advertising: