oImg.setAttribute('width', '1px');
pxes solo para CSS. Utilizar cualquiera:
oImg.width = '1';
para establecer un ancho a través de HTML, o:
oImg.style.width = '1px';
para configurarlo a través de CSS.
Tenga en cuenta que las versiones antiguas de IE no crean una imagen adecuada con document.createElement(), y las versiones antiguas de KHTML no crean un Nodo DOM adecuado con new Image(), por lo que si desea ser totalmente compatible con versiones anteriores, use algo como:
// IEWIN boolean previously sniffed through eg. conditional comments
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;
}
También tenga cuidado con document.body.appendChildsi el script puede ejecutarse ya que la página está en medio de la carga. Puede terminar con la imagen en un lugar inesperado o un extraño error de JavaScript en IE. Si necesita poder agregarlo en el tiempo de carga (pero después de que el <body>elemento haya comenzado), puede intentar insertarlo al comienzo del cuerpo usando body.insertBefore(body.firstChild).
Para hacer esto de manera invisible pero aún así tener la imagen cargada en todos los navegadores, puede insertar una posición absolutamente fuera de la página <div>como el primer hijo del cuerpo y poner cualquier imagen de seguimiento / precarga que no desee que sea visible allí. .