11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je cherche à implémenter des tags sur mon site.

j'ai besoin d'injecter l'id de mon produit dans le tag principal, id que je récupère via une variable de mon outil d'analytics.

Mon problème c'est que le tag ne se renseigne pas, est-ce que ça vient de la rédaction de mon tag ? je suis sûr que la variable est fonctionnelle après l'avoir testée toute seule en document.write

merci d'avance

voilà mon script

<script type="text/javascript">
var productId;
document.write('<div class=\"ctoParams\">wi=7711302&pt1=2&i='productId'<\/div>');
</script>
Modérateur
Salut,

C'est parce que tu oublies de concaténer ta chaîne :
document.write('<div class=\"ctoParams\">wi=7711302&pt1=2&i=' + productId + '<\/div>');
En passant, si le but est de stocker une information (nombre, chaine de caractères) de manière non visible par l'utilisateur, les solutions de référence sont:

- <input type="hidden" name="myKey" value="myValue"> (dans un formulaire qui sera envoyé par l'utilisateur par la suite)
- var myKey = 'myValue' en JavaScript s'il s'agit juste d'une donnée à stocker temporairement en JS (information non persistante en cas de rechargement de la page)
- <element data-mykey="myValue"> en HTML5 s'il s'agit d'une information à stocker dans le DOM sur un élément donné, pour l'exploiter en JavaScript par exemple (à préférer à la solution précédente si tu as une série d'éléments et que chacun a une information personnalisée, et du moment que les accès DOM ne mettent pas à mal les performances... sinon, stocker dans un Array en JS)

Écrire une chaine de caractères qui ressemble à des paramètres d'URL comme contenu d'un élément DIV, probablement pour masquer ensuite cette information aux utilisateurs en CSS, ça ne me semble pas idéal.