MediaWiki:Common.js: Difference between revisions
MediaWiki interface page
More actions
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
/* Ad Block. */ | /* Ad Block. */ | ||
function detectAdblock(){const adblockTests={uBlockOrigin:{url: | 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)}`);
});