ProBoards hide adblock message

Hides anti-adblock message

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name        ProBoards hide adblock message
// @namespace   proboards
// @description Hides anti-adblock message
// @match       https://*.proboards.com/*
// @version     1.2
// @grant       none
// @run-at      document-start
// @inject-into content
// @license     MIT
// ==/UserScript==

(function () {
	"use strict";

	const defineVar = (null, function (context = window, exporter = (f) => f) {
		Reflect.defineProperty(context, "runAntiAdBlock", {
			configurable: false,
			enumerable: true,
			get: exporter(() => 0),
			set: exporter(() => {})
		});
	});

	if ("wrappedJSObject" in window) {
		// Bypass Firefox sandbox and define directly
		const context = window.wrappedJSObject;
		defineVar(context, (f) => exportFunction(f, context));
	} else {
		// Inject into page (only works in Chrome if CSP blocks us)
		const script = document.createElement("script");
		script.text = `"use strict";(${defineVar})();`;
		(document.head ?? document.documentElement).prepend(script);
		script.remove();
	}
})();