// Accepts a url and a callback function to run.   
function requestCrossDomain( site, callback ) {   
  
    // If no url was passed, exit.   
    if ( !site ) {   
        alert('No site was passed.');   
        return false;   
    }   
  
    // Take the provided url, and add it to a YQL query. Make sure you encode it!   
    var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + site + '"') + '&format=xml&callback=?';   
  
    // Request that YSQL string, and run a callback function.   
    // Pass a defined function to prevent cache-busting.   
    $.getJSON( yql, cbFunc );   
  
    function cbFunc(data) {   
    // If we have something to work with...   
    if ( data.results[0] ) {   
        // Strip out all script tags, for security reasons.   
        // BE VERY CAREFUL. This helps, but we should do more.   
        data = data.results[0].replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');   
  
        // If the user passed a callback, and it   
        // is a function, call it, and send through the data var.   
        if ( typeof callback === 'function') {   
            callback(data);   
        }   
    }   
    // Else, Maybe we requested a site that doesn't exist, and nothing returned.   
    else throw new Error('Nothing returned from getJSON.');   
    }   
}
