Usuario:Shooke/ticker.js
De Wikinoticias, la fuente libre de noticias
Nota: Después de guardar, debes recargar la caché de tu navegador para ver los cambios:
- Mozilla: Pulsa Recargar (o Ctrl-R)
- Internet Explorer / Opera: Ctrl-F5
- Safari: Cmd-R
- Konqueror Ctrl-R.
/* Extraido de Utilisateur:Grimlock/public/ticker.js */ if(navigator.userAgent.indexOf("MSIE") == -1){ //Disables for IE, AJAX etc is really bugged in IE, wont work without major rewrite and server-side extension. var ticker_tl=new Array(); //Dont touch var ticker_speed=15; //Increase to slow down, too low makes it go incredibly slow, 15 is about right var ticker_index=0; ticker_text_pos=0; //Dont touch var ticker_str_length; //Dont touch var ticker_contents, ticker_row; //Dont touch var ticker_custompages = Array(); var ticker_custommsg = Array(); // Add lines like the following to add custom tickers: // ticker_custompages['Portal:PORTALNAME'] = 'Portal:PORTALNAME/Tickersource'; // Make sure that the /Tickersource page is formatted like [[User:TheFearow/Tickersource]] using DPLs ticker_custompages['Wikinews:Salle de rédaction'] = 'Wikinews:Salle de rédaction/Tickersource'; //Add custommsgs for all custom pages ticker_custommsg['Wikinews:Salle de rédaction'] = 'Articles en développement'; function ticker_prepare(){ ticker_str_length=ticker_tl[0].length var content = document.getElementById('showticker').innerHTML; if(content != ""){ content += "<br/>\n"; } var start = "Los títulos "; if(ticker_custommsg[wgBasePageName]){ start = ticker_custommsg[wgBasePageName]; } content += "<div id='ticker_start' style='font-weight: bold; font-size: 120%; display: inline;'>" + start + " <div style='font-size: smaller; display: inline;'>(<a href='" + wgServer + wgScript + "?title=" + ticker_toload + "&action=purge'>lista completa</a>)</div>: </div><div id='ticker_content' style='font-size: 120%; font-color: blue; display: inline;'></div>"; document.getElementById('showticker').innerHTML = content; } var month=new Array(12); month[0]="January"; month[1]="February"; month[2]="March"; month[3]="April"; month[4]="May"; month[5]="June"; month[6]="July"; month[7]="August"; month[8]="September"; month[9]="October"; month[10]="November"; month[11]="December"; wgBasePageName = wgPageName; if(wgPageName.indexOf("/") != -1){ wgBasePageName = wgPageName.substring(0,wgPageName.indexOf("/")); } var ticker_toload = ""; function ticker_load(){ try{ var randomunusedtickervariable = document.getElementById('showticker').innerHTML; }catch(err){ return; } ticker_toload = "Usuario:Shooke/Tickersource"; if(ticker_custompages[wgBasePageName]){ ticker_toload = ticker_custompages[wgBasePageName]; } xmlhttp = sajax_init_object(); xmlhttp.overrideMimeType('text/xml'); xmlhttp.open( 'GET' , wgServer + wgScriptPath + '/index.php?title=' + ticker_toload + '&action=render', true); xmlhttp.onload = function() { //this.responseXML is the DOM var entries = this.responseText.split("\n"); //window.alert(this.responseText); for(var i = 0; i < entries.length; i++){ var val = entries[i]; if(val.indexOf("<li>") == 0 && val.indexOf("<a") != -1){ val = val.substring(val.indexOf("\">")+2, val.indexOf("</a>")); ticker_tl[ticker_tl.length] = val; } } ticker_prepare(); ticker_tick(false, true); } xmlhttp.send( null ); } function ticker_tick(reset, first) { if(reset){ document.getElementById("ticker_content").innerHTML = ""; } if(first){ ticker_index = Math.round(Math.random() * ticker_tl.length-1); ticker_text_pos=0; ticker_str_length=ticker_tl[ticker_index].length; } ticker_contents=''; ticker_row=Math.max(0,ticker_index-7); //window.alert("TL: "+ticker_tl[ticker_index]); document.getElementById("ticker_content").innerHTML = ("<a href=\"" + wgServer + wgArticlePath.replace("$1", escape(ticker_tl[ticker_index])) + "\" title=\"" + ticker_tl[ticker_index] + "\">" + ticker_tl[ticker_index].substring(0,ticker_text_pos) + "_</a>").replace("\n", ""); if(ticker_text_pos++>=ticker_str_length) { ticker_index++; if(ticker_index!=ticker_tl.length) { ticker_text_pos=0; ticker_str_length=ticker_tl[ticker_index].length; if(first){ setTimeout("ticker_tick(true, false)",3); }else{ setTimeout("ticker_tick(true, false)",7000); } }else{ ticker_index = Math.round(Math.random() * ticker_tl.length-1); ticker_text_pos=ticker_tl[ticker_index].indexOf("\">"); ticker_str_length=ticker_tl[ticker_index].length; setTimeout("ticker_tick(true, false)",3000); } } else setTimeout("ticker_tick(false, false)",ticker_speed); } addLoadEvent(ticker_load); function sajax_init_object() { var A; try { // Try the new style before ActiveX so we don't // unnecessarily trigger warnings in IE 7 when // set to prompt about ActiveX usage A = new XMLHttpRequest(); } catch (e) { try { A=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { A=new ActiveXObject("Microsoft.XMLHTTP"); } catch (oc) { A=null; } } } return A; } }
