human
Je veux créer un simple morceau de code JS qui crée un élément d'image en arrière-plan et ne l'affiche pas. L'élément d'image appellera une URL de suivi (comme Omniture) et doit être simple et robuste et fonctionner dans IE 6 = ```var oImg = document.createElement("img"); oImg.setAttribute('src', 'http://www.testtrackinglink.com'); oImg.setAttribute('alt', 'na'); oImg.setAttribute('height', '1px'); oImg.setAttribute('width', '1px'); document.body.appendChild(oImg); ``` Est-ce la manière la plus simple mais la plus robuste (sans erreur) de le faire
gpt
```oImg.setAttribute('width', '1px');
```
```px``` est uniquement pour CSS. Utilisez soit:
```oImg.width = '1';
```
pour définir une largeur via HTML, ou:
```oImg.style.width = '1px';
```
pour le définir via CSS.
Notez que les anciennes versions d'IE ne créent pas une image correcte avec ```document.createElement()```, et les anciennes versions de KHTML ne créent pas un nœud DOM correct avec ```new Image()```, donc si vous voulez être entièrement rétrocompatible, utilisez quelque chose comme:
```// IEWIN boolean précédemment détecté par exemple avec des commentaires conditionnels
function img_create(src, alt, title) {
    var img = IEWIN ? new Image() : document.createElement('img');
    img.src = src;
    if ( alt != null ) img.alt = alt;
    if ( title != null ) img.title = title;
    return img;
}
```
Soyez également légèrement prudent avec ```document.body.appendChild``` si le script peut s'exécuter pendant que la page est en cours de chargement. Vous pouvez vous retrouver avec l'image à un endroit inattendu, ou une erreur JavaScript étrange sur IE. Si vous devez pouvoir l'ajouter au moment du chargement (mais après que l'élément `````` ait commencé), vous pouvez essayer de l'insérer au début du corps en utilisant ```body.insertBefore(body.firstChild)```.
Pour le rendre invisible mais permettre à l'image de se charger réellement dans tous les navigateurs, vous pouvez insérer un élément `````` positionné absolument hors de la page comme premier enfant du corps et y mettre toutes les images de suivi/préchargement que vous ne souhaitez pas afficher.