Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/03/2009, 06:12
Avatar de Distriker
Distriker
 
Fecha de Ingreso: marzo-2008
Ubicación: Las Palmas De Gran Canarias
Mensajes: 924
Antigüedad: 16 años, 9 meses
Puntos: 23
Respuesta: Problema con lector RSS

Gracias David, pero sigue habiendo un error, no me carga, y ahora el JS lo tengo así:

Código javascript:
Ver original
  1. //variable global
  2. var i=1;
  3. //URI: dirección del RSS 2.0 (funciona solamente con Wordpress)
  4. var URL='blog.php';
  5. //función: llamarasincrono('URI', 'div-id',i);
  6. llamarasincrono(URL, 'rss',i);
  7. //Esta función cargará la información
  8. function llamarasincrono(url, id_contenedor,N) {
  9. var pagina_requerida = false
  10. if (window.XMLHttpRequest) {// Si es Mozilla, Safari, Etc..
  11. pagina_requerida ? new XMLHttpRequest ()
  12. } else if (window.ActiveXObject){// pero si IE
  13. try {
  14. pagina_requerida = new ActiveXObject("Msxml12.XMLHTTP")
  15. }
  16. catch (e){//Si es una versión antigua
  17. try {
  18. pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
  19. }
  20. catch (e){}
  21. }
  22. } else
  23. return false
  24. pagina_requerida.onreadystatechange=function(){//función de respuesta
  25. cargarpagina(pagina_requerida, id_contenedor,N)
  26. }
  27. pagina_requerida.open('GET', url, true) //asignamos los metodos open y send
  28. pagina_requerida.send(null)
  29. }
  30. //todo es correcto y ha llegado el momento de poner la información requerida
  31. //en su sitio en la pagina XHTML
  32. function  cargarpagina(pagina_requerida, id_contenedor,N){
  33. if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)){
  34. //usamos la propiedad responseXML: devuelve datos por el servidor en forma de documento XML
  35. var xml = pagina_requerida.responseXML;
  36. //encontramos el total de items en el RSS
  37. var limit = sml.getElementsByTagName('item').length;
  38. //Boton siguiente
  39. //i es la variable que irá incrementandose
  40. var next = "<next><a href=\"javascript:llamarasincrono(URI, 'rss',i);\">Siguiente</a></next>";
  41. //creamos el string donde irán las etiquetas y los valores
  42. var rss = "";
  43. //for de 2 ciclos, para mostrar 2 entradas a la vez
  44. for (var 1=N;1<=N+1;1++){
  45. //cogemos el titulo del primer item, luego del segundo, y así.
  46. var title = xml.getElementsByTagName('title').item(1).firstChild.data;
  47. var url = xml.getElementsByTagName('link').item(1).firstChild.data;
  48. var pubDate = xml.getElementsByTagName('pubDate').item(1).firstChild.data;
  49. var description = xml.getElementsByTagName('description').item(1).firstChild.data;
  50. //si la longitud de la entrada es mayor de 200 caracteres la cortamos y le ponemos un enlace
  51. if(description.length>200) { description = description.substr(0,200)+"...<br/><enlace><a href=\"" + url + "\">Leer más...</a></enlace><br/><br/>"; }else description=description+"<br/><br/>";
  52. //esto sirve para cortar el +0000 de la fecha en WordPress
  53. var date = pubDate.split(" +");
  54. //sumamos las variables a nuestro string
  55. rss = rss+"<fecha>"+date[0]+"<fecha><br/><titulo>"+title"</titulo><br/><description>"+description+"</description>";
  56. if (limit==1)
  57. //si nos pasamos del límite, la cortamos
  58. break;
  59. }
  60. //incrementamos la variable global
  61. i=i+2;
  62. //si nos pasamos del límite, volvemos a empezar
  63. if (i>limit)
  64. i=1;
  65. //metemos el string + el boton en el div-id que corresponde
  66. document.getElementById(id_contenedor).innerHTML=rss+next;
  67. //un pequeño mensaje para avisar que se esta cargando la información
  68. }else if (pagina_requerida.readyState == 1)
  69. document.getElementById(id_contenedor).innerHTML="<load>Cargando...</load>"
  70. }

No entiendo el porque sigue mal, he buscado mas errores parecidos al que me has dicho y no veo ninguno (al menos mi vista no ve ninguno).

¿Qué puede ser?

Estoy a la espera de respuestas en los dos .

Saludos
__________________
Si no te quejas, nunca conseguiras nada, pero si te quejas siempre lo perderás todo.
Una mala acción da fruto a un mal Karma.