Hice un sistema de noticias para mi web (www.nyxmexico.com) con AJAX y Jquery. Todo funciona correctamente, solo que en algunas conexiones he notado que GOOGLE tarda hasta 3 o 4 segundos en enviar los FEEDs de las noticias RSS, y mientras tanto la pagina se muestra en blanco...
Aun ando aprendiendo Ajax por eso recurro a ustedes, de que manera podria modificar la funcion para que se muestre el HTML en lo que se reciben los encabezados de las noticias de google?
Mi codigo es este (igual pueden consultar el fuente en la pagina):
Código HTML:
<script type="text/javascript" src="include/jquery.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi?key=ABQIAAAAbzW4jypX8kb6xFRCghmDfBRarZGSwaqD-S-AirbLjUo_bxP_jRQHQEKDjltZ5ue8jnhow7zhXR3zHg"></script> <script type="text/javascript" src="include/funciones.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('div#noticias p').remove(); $('div#noticias').jq_scroll(); }); google.load("feeds", "1"); google.setOnLoadCallback(initialize); </script>
Código HTML:
function initialize() { var feed = new google.feeds.Feed("http://eleconomista.com.mx/dinero/rss"); feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; $('div#noticias').append('<p><a class="titlefield" target="_blank" href="' + entry.link + '">' + entry.title + '</a><span class="labelfield"> ' + "El Economista" + ' </span><span class="datefield"> ' + entry.publishedDate + ' </span></p>'); } } }); var feed = new google.feeds.Feed("http://www.economista.com.mx/blog/caja-fuerte/rss"); feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; $('div#noticias').append('<p><a class="titlefield" target="_blank" href="' + entry.link + '">' + entry.title + '</a><span class="labelfield"> ' + "Caja Fuerte" + ' </span><span class="datefield"> ' + entry.publishedDate + ' </span></p>'); } } }); var feed = new google.feeds.Feed("http://www.eluniversal.com.mx/rss/computo.xml"); feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; $('div#noticias').append('<p><a class="titlefield" target="_blank" href="' + entry.link + '">' + entry.title + '</a><span class="labelfield"> ' + "El Universal" + ' </span><span class="datefield"> ' + entry.publishedDate + ' </span></p>'); } } }); var feed = new google.feeds.Feed("http://feeds2.feedburner.com/cnnexpansion/emprendedores"); feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; $('div#noticias').append('<p><a class="titlefield" target="_blank" href="' + entry.link + '">' + entry.title + '</a><span class="labelfield"> ' + "CNN" + ' </span><span class="datefield"> ' + entry.publishedDate + ' </span></p>'); } } }); }