oImg.setAttribute('width', '1px');
px
призначений лише для CSS Використовуйте або:
oImg.width = '1';
щоб встановити ширину через HTML, або:
oImg.style.width = '1px';
щоб встановити його через CSS.
Зауважте, що старі версії IE не створюють належного зображення document.createElement()
, а старі версії KHTML не створюють належного вузла DOM з new Image()
, тому, якщо ви хочете бути повністю сумісними назад, використовуйте щось на кшталт:
// 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;
}
Також слід бути обережними, document.body.appendChild
якщо сценарій може виконатись, коли сторінка знаходиться в середині завантаження. Ви можете виявити зображення в несподіваному місці або дивної помилки JavaScript в IE. Якщо вам потрібно мати змогу додати його під час завантаження (але після <body>
запуску елемента), ви можете спробувати вставити його на початку роботи з використанням тіла body.insertBefore(body.firstChild)
.
Для цього непомітно, але все-таки зображення фактично завантажується у всіх веб-переглядачах, ви можете вставити абсолютно розміщену сторінку <div>
як першу дитину тіла та помістити будь-які відстежуючі / попередньо завантажені зображення, які ви не хочете, щоб вони були видні там .