Как проверить загружены ли все картинки браузером
Подскажите пожалуйста мне нужно проверить загружены ли все картинки браузером с помощью javascript, желательно jQuery. Мне предлогали вариант ставить на событие onload у картинки флаг, если загрузилась, то флаг равен истине. мне такой вариант не подходит. Мне нужно просто определить все ли браузер загрузил?
|
Событие load окна документа срабатывает, когда все элементы страницы подгружены - DOM, картинки, фреймы и так далее. Может подойдет такой вариант:
$(window).bind('load', function() { /* ... */}); |
так, ага, а если у меня с помощью аякса поевляеться плавающий див, и в нем вот эти самые картинки, то пойдет, что вы предложили?
|
Нет, тогда только событие load на всех элементах img внутри дива.
|
Вариантов много. Очень много. Пример - первый вариант самый простой, но второй изящны
Вар. 1.
var initContent = function () { ... } window.onload = initContent; Вар. 2. var ie = (navigator.appName == 'Microsoft Internet Explorer') ? true : false; var initContent = function () { ... // Some code. if (ie) { window.detachEvent ('onload', initContent); } else { window.removeEventListener ('load', initContent, false); } } if (ie) { window.attachEvent ('onload', initContent); } else { window.addEventListener ('load', initContent, false); } |
Или же вот такой геморрой:
function checkImage () {
var img = document.getElementsByTagName ('IMG'); var c = 0; while (img[c]) { if (!img[c].complete) return false; } unsetInterval (i); ... // Some initiation code. } var i = setInterval ('checkImage ()', 10); |
Еже ли вопрос идет об аяксе -
как раз подойдет последний вариант от меня под названием геморрой...
|
я бы постарался избежать цикла, в котором ожидается загрузка изображений
|
для того чтобы найти пустое изображение и заменить его на стандартную картинку можно использовать следующее
$("img").error(function () { $(this).unbind("error").attr("src", "broken.gif"); }); |
Цитата:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ RewriteRule .* noimage.jpg [L] таким образом если изображение не будет найдено, то отобразится заглушка noimage.jpg, которая в данном случае лежит в этой же папке где и .htaccess |
Часовой пояс GMT +3, время: 08:37. |