Jump to content

[contourne] probleme '&' js ?


Recommended Posts

Bonjour

j'ai une question existentielle a vous soumettre

je suis sur la mise a jour d'une interface, et, sans rentrer dans les details, quand on clique sur une image, sa source et sa cible change

cependant, j'ai un probleme au changement du lien

c'est un peu une usine a gaz, mais pour faire simple, les liens contiennent des variables en get pour la page qui sera appele

un bout de code vallant mieux qu'un long discours:

<script>
[...]
document.getElementById("download"+idimg).href =
			"export.php?idcam=" + export_imgs[idimg].id +
			"&name=" + filename +
			"&start=" + export_imgs[idimg].start +
			'&stop=' + export_imgs[idimg].stop +
			"&began" + export_imgs[idimg].began +
			"&ended=" + export_imgs[idimg].ended +
			"&file=" + filename;
[...]
</script>

mon probleme: ca marche pas, et quand je vais me balader dans la source, je me rend compte que les & se sont transformes en &

une idee ?

edit: bon, apparemment, c'est interprete ici, alors on le refait autrement, les & sont remplaces par des & amp; (sans l'espace)

Link to post
Share on other sites

Et en quoi est-ce un problème ? Tu aurais dû tester le lien, tu te serais rendu compte que ça fonctionne tout de même.

Pour la petite histoire, & amp; est l'entité, aussi bien en XML qu'en HTML, qui sert à représenter le symbole "&". Pourquoi ? Parce qu'en fait, le caractère "&" marque le début d'une entité (cf. entités HTML & eacute;, & agrave;, etc.), il est donc nécessaire de l'encoder afin que tout interpréteur ne se mette pas les pieds dans le tapis au moment de reconnaitre les entités, croyant en voir là où il n'y en a pas.

Link to post
Share on other sites
Et en quoi est-ce un problème ? Tu aurais dû tester le lien, tu te serais rendu compte que ça fonctionne tout de même.

Pour la petite histoire, & amp; est l'entité, aussi bien en XML qu'en HTML, qui sert à représenter le symbole "&". Pourquoi ? Parce qu'en fait, le caractère "&" marque le début d'une entité (cf. entités HTML & eacute;, & agrave;, etc.), il est donc nécessaire de l'encoder afin que tout interpréteur ne se mette pas les pieds dans le tapis au moment de reconnaitre les entités, croyant en voir là où il n'y en a pas.

[...] on ne s'enerve pas...

1 - meme bourre, en relisant mon message, je comprends que ca ne marche pas

2 - quand la source d'un lien indique & é ... un fichier avec un & commercial ou un e accentue ne sera pas charge

quoi qu'il en soit, j'avais pas penser au urlencode, mais face au probleme, j'ai repense mon truc en concatenant mes arguments avec un '?' et en les recuperant avec un explode...

Link to post
Share on other sites

J'ai tendance à être un peu speed en général, désolé que tu ais pris ça pour de l'énervement (encore que, si c'était après le cinquième café de la journée, c'est possible...). Enfin bref. :p

Ton problème en fait ressemble plus à un double-codage des entités. Normalement, c'est le navigateur qui gère ça (passer les caractères accentués en entités URI du style %C3%A9 dans un lien ou insérer un & en tant que & amp; là où c'est nécessaire). Ça me rappelle un vieux code PHP que j'avais fait il y a des années, qui chiait dans la colle parce que j'encodais les entités en entrées mais aussi avant de les fournir à la sortie. :francais::p

La chose, c'est que je n'ai pas l'impression que l'extrait de code que tu fournis pose un quelconque problème, ni que le code qui l'entoure soit susceptible d'en poser étant donné que tu accèdes à l'élément de manière directe... C'est un mystère à mes yeux, donc.

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...