uuummm, pues yo juraria que se espera a que se cargue todo
El codigo es el siguiente
Código PHP:
document.addEventListener(
'load',
function ujsenabledCleanURI() {
/********************************
** INICIO CONFIGURACION BASICA **
*********************************/
var linkNuevoText=null;//"[...]"; //Si no es null se crea un link nuevo con ese texto. Si es null se sobreescribe el antiguo
var fixLinkType=0; //1 = links de redireccion, 2 = links en javaScript window.open, 0 = ambos
/*****************************
** FIN CONFIGURACION BASICA **
******************************/
var getJavascript = function (_link) {
var _javascript=null;
var protocoloJS=(_link.protocol!=null && _link.protocol.toLowerCase()=='javascript:');
if (protocoloJS || _link.hash=='#' || _link.href=='#') {
var _onClick=_link.getAttribute('onclick');
if (_onClick!=null && (_onClick=_onClick.replace(/^s+|s+$/,"")).length>0) _javascript=_onClick;
}
if (protocoloJS) {
var jsHref=_link.href.replace(/^s*(javascripts*:s*(voids*(s*0?s*)s*;?)?)?|s+$/,"");
if (jsHref.length>0) {
if (_javascript==null) _javascript=jsHref+";return false;";
else _javascript="if (function(){"+_javascript+"}()) {"+jsHref+"};return false;";
}
}
return (_javascript!=null && (_javascript=_javascript.replace(/;;+/g,";").replace(/^s+|s+$/,"")).length>0)?_javascript:null;
}
var getRegExpIzquierda = function(regExpStr) {
return (regExpStr==null || regExpStr.length==0)?null:new RegExp(regExpStr,"i");
}
var getRegExpDerecha = function(regExpStr) {
return (regExpStr==null || regExpStr.length==0)?null:new RegExp(regExpStr+"(?!"+regExpStr+")","i");
}
/**********************************
** INICIO CONFIGURACION AVANZADA **
***********************************/
var httpMatch=getRegExpDerecha("https?(:|%3a)(\\/|%2f)(\\/|%2f)");
var urlMatch=/window.opens*(s*["']([^"']*)["']/i;
var linkPadreExcluidos = getRegExpIzquierda(
"https?(:|%3a)(\\/|%2f)(\\/|%2f)("+
"translate\\.google\\.com"+
")"
); // links originales que se excluyen
var linkHijoExcluidos = getRegExpIzquierda(
"https?(:|%3a)(\\/|%2f)(\\/|%2f)("+
document.location.hostname.replace(/./g,"\\.")+
")"
); // links parseados que se excluyen
var limpiarMas=new Array (
/(?|&)[^=]+=(&|$)/g,"$1", //Quitar parametros vacios
// /(#|\?|&)$/g,"", //Quitar sufijos vacios
/^s+|s+$/g,"", //trim
/(https?://www.20minutos.es/noticia/[0-9]+).*/,"$1"
); //Limpieza extra del link final
/*******************************
** FIN CONFIGURACION AVANZADA **
********************************/
var x;
var xx;
var _aux;
var _hrefLimpia;
var _hrefSucia;
var _hrefJS;
var _linkViejo;
var _javascript;
var _search;
var _hostname;
var _match;
var _onClick;
var _target;
var _relAttribute;
var _linkNuevo;
var _index;
var _vieneDeJS;
var _erroresTxt="";
var _links=document.links;
for(x=_links.length-1;x>=0;x--) {
_linkViejo=_links[x];
_hrefSucia=_linkViejo.href;
if (linkPadreExcluidos==null || !linkPadreExcluidos.test(_hrefSucia)) {
_vieneDeJS=false;
_hrefLimpia=null;
_hrefJS=null;
try {
_javascript=getJavascript(_linkViejo);
if(_javascript && fixLinkType!=1) {
_match=_javascript.match(urlMatch);
if (_match!=null) {
_hrefLimpia=(_hrefJS=(RegExp.$1)).replace(///g,'\/');
_hrefSucia=_hrefLimpia;
}
}
if(fixLinkType!=2 && (_hrefSucia.toLowerCase().indexOf("http")==0)) {
_index=_hrefSucia.indexOf('?')+1;
_search=(_index>0)?_hrefSucia.substr(_index):null;
if (_search!=null && _search.length>0) {
if ((_hrefSucia!=_linkViejo.href)||(_linkViejo.hostname && !_linkViejo.hostname.match(/w3c?.org$/))) {
_match = (_search?_search.match(httpMatch):null);
if (_match!=null) {
_hrefLimpia=_search.substr(_match.index).replace(/[&#].*$/g,'');
if (_hrefLimpia.indexOf("://")==-1) _hrefLimpia=unescape(_hrefLimpia);
_hrefSucia=_hrefLimpia;
}
}
}
}
if (limpiarMas!=null && limpiarMas.length>0) {
_aux=_hrefSucia;
for(xx=0;xx<limpiarMas.length;xx=xx+2) {
_hrefSucia=_hrefSucia.replace(limpiarMas[xx],limpiarMas[xx+1]);
}
if(_aux!=_hrefSucia) _hrefLimpia=_hrefSucia;
}
if (_hrefJS!=null) _javascript=_javascript.replace(_hrefJS,"this.href","g").replace(/["']this.href["']/g,"this.href");
if(_hrefLimpia!=null && !(linkHijoExcluidos && linkHijoExcluidos.test(_hrefLimpia))) {
if(linkNuevoText!=null) {
_linkNuevo=document.createElement('a');
_target = _linkViejo.getAttribute("target");
if (_target!=null && _target.length>0) _linkNuevo.setAttribute('target',_target);
_linkNuevo.appendChild(document.createTextNode(linkNuevoText));
_linkViejo.parentNode.insertBefore(document.createTextNode(' '),_linkViejo.nextSibling);
_linkViejo.parentNode.insertBefore(_linkNuevo,_linkViejo.nextSibling.nextSibling);
} else _linkNuevo=_linkViejo;
_relAttribute = _linkNuevo.getAttribute('rel');
_relAttribute = _relAttribute ? ( _relAttribute + ' ' ) : '';
_linkNuevo.setAttribute('rel',_relAttribute+'redirect');
_linkNuevo.title = (_linkNuevo.title?(_linkNuevo.title+' - '):'')+'URL original: '+_linkViejo.href;
_linkNuevo.setAttribute('replacedurl',_linkViejo.href);
_linkNuevo.setAttribute('href,_hrefLimpia);
if (_hrefJS!=null) _linkNuevo.setAttribute("onClick",_javascript);
}
} catch (_e) {_erroresTxt+=("\n\n"+_linkViejo.href+"\n"+_e);}
}
}
if (_erroresTxt!=null && _erroresTxt.length>0) alert(_erroresTxt);
},
false
);