// ==UserScript==
// @name CMG Hacks for Safari & Firefox
// @homepage http://youtube.com/theostechtips
// @author Theo's Tech Tips
// @description A port of my chrome extension (CMG Hacks) for Safari and Firefox!
// @grant none
// @match *://www.coolmathgames.com/0-*
// @run-at document-start
// @version 2.2
// @license MIT
// @namespace https://greasyfork.org/users/995648
// @downloadURL none
// ==/UserScript==
//Make the buttons
var div = document.querySelector(".pane-title");
if (div) {
var randNum1 = Math.floor(Math.random() * 1000000000);
var randNum2 = Math.floor(Math.random() * 1000000000);
var str = `Skip Ad `
div.insertAdjacentHTML('beforeend', str);
}
//Function to wait for elem
function waitForElm(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
waitForElm('.blocker-detected-2').then((elm) => {
document.getElementById(randNum1).click()
})
if (document.getElementById(randNum2) && document.getElementById(randNum1)) {
document.getElementById(randNum2).onclick = function () {
var elem = document.getElementById("swfgamewrapper");
if (!elem.webkitRequestFullScreen) {
elem.mozRequestFullScreen()
} else {
elem.webkitRequestFullScreen();
}
}
document.getElementById(randNum1).onclick = function () {
if (document.body.contains(document.querySelector(".blocker-detected-2"))) {
document.querySelector(".blocker-detected-2").remove();
}
}
}
if (window.location.href.indexOf("https://www.coolmathgames.com/0-chess") > -1) {
document.getElementById(randNum2).style.display = "none";
document.getElementById(randNum1).style.display = "none";
}
//Block specific functions
cmgGoogleAdBreak = undefined;
isCmgAdBreakDone = undefined;
loadGoogleAds = undefined;
waitForElm("#randomAdBlockDiv").then((elm) => {
elm.remove()
})