11521 sujets

JavaScript, DOM et API Web HTML5

bonjour tout le monde
voila j'ai essayé de coder un lecteur rss mais le souci que j'ai c'est que mon lecteur marche que sous firefox
quelqu'un pourrait m'aider a le debugger pour IE svp

function lecture_flux_lien(site)
{ 
	
	
	new Ajax.Request('ajaxProxy.php?lien='+site, 
	{				   method:'get',
					 //  parameters:parametre,
					   onComplete: function(req) {
							rep=req.responseXML;
							alert(rep.getElementsByTagName("channel").length);
						   	root = rep.getElementsByTagName("channel"); // on se place au root du xml
							alert('root: '+root.length) ; 
							items = rep.getElementsByTagName("item") ; //on récupérer les items
							alert('item : '+items.length);
							nbItems= items.length;
							rssDiv=Builder.node('div',{id:'rss'});
							for(i=0;i<nbItems;i++)
							{								
								title= items[i].getElementsByTagName("title")[0]; //on récupérer les titres
								description = items[i].getElementsByTagName("description")[0]; //on récupérer les resumes
								link = items[i].getElementsByTagName("link")[0]; //on récupérer les liens
								lien=Builder.node('a',{href:link.firstChild.nodeValue},title.firstChild.nodeValue);
								plus=Builder.node('span',{id:'plus_'+i},' + ');
								resume=Builder.node('p',{id:'p_'+i, style:'display:none'},description.firstChild.nodeValue);
								div_item=Builder.node('div',{className:'item'});
								div_item.appendChild(lien);
								div_item.appendChild(plus);
								div_item.appendChild(resume);
								rssDiv.appendChild(div_item);


							}
							document.body.appendChild(rssDiv);
								all_p = $('rss').getElementsByTagName('p');
								for(i=0 ; i<nbItems; i++)
								{
									Event.observe($('plus_'+i), 'click' , addEffect);//application de l'effet
								}
	
						}
						
	});
}

voila la methode en question
et le lien est http://www.captainweb.fr/rss/lecteur_rss.php
merci de votre aide[/i][/i][/i]
Modifié par hakkou (11 Apr 2007 - 11:06)
Salut Hakkou !

Tu souhaiterais integrer ton contenu rss dans ton site ?

Tu peux le faire en php (cherches sur google feedparser.php). Après JS, je ne connais pas assez pour t'aider Smiley cligne
merci de ta reponse
pas forcemment l'integrer il me faut d'abord le fair marcher ensuite on verra^^
mais en fait je suis obliger de le faire en JS c'est pour ca que j'ai codé en JS
le souci c'est que je n'arrive toujours pas a comprend pourquoi il ne s'execute pas sous IS Smiley bawling
aidez moi svp
PS: j'utilise scriptaculous qui elle meme utilise prototype comme librairies
desolé pour le dernier post j'avais confondu editer et citer :s
Modifié par hakkou (10 Apr 2007 - 14:24)
Hello,

Peut-être est-ce dû au fait que ton URL est invalide. Tu peux essayer cette solution :
function lecture_flux_lien(site)
{
	new Ajax.Request('ajaxProxy.php?lien=' + [b]encodeURIComponent[/b](site),
	...
merci de ta reponse
je ne pense pas que ca soit un souci d'url car j'ai rajouter cela dans mon code
							if (window.XMLHttpRequest) {
										rep = req.responseXML;
										alert('dans le if');
							} else if (window.ActiveXObject) {
									rep = new ActiveXObject("Microsoft.XMLDOM");
									rep.loadXML(req.responseText);
										alert('dans le else');
														}

mon lecteur marche quand je ne met pa d'argument dans l'adresse du site mais quand je le met rebelotte ca marche que sous FF et non IE Smiley eek
hakkou a écrit :
mon lecteur marche quand je ne met pa d'argument dans l'adresse du site mais quand je le met rebelotte ca marche que sous FF et non IE Smiley eek
Ca ressemble beaucoup au problème que j'évoquais quand même... As-tu au moins essayé la solution que je te propose ?
je pense avoir trouver le probleme mais je ne sais pas comment le resoudre
en fait le probleme c'est que mon reponseText ne gere pas les caractére speciaux et comme le xml n'admetp pas la moindre erreur ba a la fin je recupére rien du tout :s
ya t'il un moyen de corriger les caractéres specieaux svp ?
voila j'ai resolu mon souci tout marche maintenant Smiley lol
la solution est si ca eut aider quelqu'un
							else if (window.ActiveXObject) 
							{	
								rep = new ActiveXObject("Microsoft.XMLDOM");
								rep.async="false";
								rep.load('ajaxProxy.php?lien='+site);
								
							}

c'est load(url) au lieu de loadXML ^^