oImg.setAttribute('width', '1px');
px
es 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.appendChild
si 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í. .