Yahoo Fantasy Baseball Ad Remover

By Glenn Carr Last update May 29, 2007 — Installed 2,191 times.
// ==UserScript==
// @name           Yahoo Fantasy Baseball Ad Remover
// @namespace      http://glenncarr.com/greasemonkey/yahoofantasy
// @description    Removes ad over the MLB scores, removes certain League Notes
// @include        *baseball.fantasysports.yahoo.com/*
// @include        http://sports.yahoo.com/mlb/recap*
// $LastChangedRevision: 85 $
// $LastChangedDate: 2007-05-29 14:58:14 -0500 (Tue, 29 May 2007) $
// ==/UserScript==
/*
   Updates:
   29-May-2007 - Changed include path to allow http://beta.
*/
var ad = document.getElementById( 'yspadLREC' );
if ( ad )
    ad.parentNode.removeChild( ad );

ad = document.getElementById( 'yspadREC' );
if ( ad )
    ad.parentNode.removeChild( ad );

ad = document.getElementById( 'yspadSKY' );
if ( ad )
    ad.parentNode.removeChild( ad );

var ads = document.evaluate(
    "//*[contains(@class, 'ad_slug_table')]",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);
if ( ads.snapshotLength > 0 )
{
    ad = ads.snapshotItem( 0 );
    var el = ad;
    do {
        el = el.parentNode;
    } while ( el.tagName != 'TABLE' );
}


// Determines which League Notes to remove
var reUnwanted = /who's the best\?\s+who are the rest\?/i;

var leagueNotes = document.getElementById( 'leaguenotes' );
var unwantedNotes = new Array();
if ( leagueNotes )
{
    var lis = leagueNotes.getElementsByTagName( 'LI' );
    var originalCount = lis.length;
    var removed = 0;
    for ( var i = 0; i < lis.length; i++ )
    {
        var li = lis[ i ];
        var liText = stripTags( li.innerHTML );
        if ( reUnwanted.test( liText ) )
            unwantedNotes.push( li );
    }
    if ( unwantedNotes.length == originalCount )
        leagueNotes.parentNode.removeChild( leagueNotes );
    else
    {
        for ( var i = 0; i < unwantedNotes.length; i++ )
            unwantedNotes[ i ].parentNode.removeChild( unwantedNotes[ i ] );
    }
}

function stripTags(s)
{
    return s.replace(/<\/?[^>]+>|&nbsp;/gi,'');
}