NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Mute MML // @namespace http://www.tedweatherly.com/ // @version 0.2 // @description Mutes all the ANNOYING ads presented from NCAA's march madness web site // @author Ted Weatherly // @match http://www.ncaa.com/march-madness-live/* // @grant none // ==/UserScript== $(function() { var _jqBody; var _mmlElem; var _jqAdLock; var _jqTveAdblock; var _DEBUG_MODE = false; var _lastVolume; var _jqCoverDiv; function _init() { _jqBody = $('body'); _lastVolume = 0.5; // default _createCoverDiv(); _checkForLoad(); } function _checkForLoad() { var bIsLoading = _jqBody.hasClass("mml-loading"); if (_DEBUG_MODE) console.log("Mute MML: bIsLoading = " + bIsLoading); // DEBUG if (bIsLoading) { window.setTimeout(_checkForLoad, 2000); // check every 2 seconds } else { $('div#ad-skyscraper').hide(); $('div#ad-marketing').hide(); _mmlElem = $('object#MML')[0]; _jqAdLock = $('div#ad-lock'); _jqTveAdblock = null; _checkForAd(); } } function _checkForAd() { var isAdShowing = _isAdShowing(); if (_DEBUG_MODE) console.log("Mute MML: isAdShowing = " + isAdShowing); // DEBUG if (_DEBUG_MODE) console.log("Mute MML: _mmlElem = " + _mmlElem); // DEBUG var volume = _mmlElem.getVolume(); var isMuted = (volume === 0); if (_DEBUG_MODE) console.log("Mute MML: isAdShowing = " + isAdShowing); // DEBUG if (_DEBUG_MODE) console.log("Mute MML: isMuted = " + isMuted); // DEBUG if (isAdShowing && !isMuted) { if (_DEBUG_MODE) console.log("Mute MML: Need to mute"); // DEBUG _lastVolume = volume; _mmlElem.setVolume(0); // mute _jqCoverDiv.show(); // cover _jqAdLock.hide(); // allow nav changes } else if (!isAdShowing && isMuted) { if (_DEBUG_MODE) console.log("Mute MML: Need to unmute"); // DEBUG _mmlElem.setVolume(_lastVolume); // unmute _jqCoverDiv.hide(); // un-cover } window.setTimeout(_checkForAd, 2000); // check every 2 seconds } function _isAdShowing() { if (_jqTveAdblock === null) _jqTveAdblock = $('#tve-adblock'); return _jqTveAdblock.is(':visible'); } function _createCoverDiv() { var coverDivId = "videoAdCover"; var coverDivHTML = '<div id="'+coverDivId+'"></div>'; _jqBody.append(coverDivHTML); _jqCoverDiv = _jqBody.find('#'+coverDivId); _jqCoverDiv.css({"background-color": "#eee", "position": "absolute", "left": "171px", "top": "148px"}).width("766px").height("430px").hide(); } _init(); });