Краткий вариант вопроса:
Существует ли эквивалентная функция navigator.mozIsLocallyAvailable, которая работает во всех браузерах, или альтернатива?
Длинная версия:)
Привет,
Вот моя ситуация:
Я хочу реализовать расширение HtmlHelper для asp.net MVC, которое легко обрабатывает пост-загрузку изображений (используя jQuery).
Так что я рендерил страницу с пустыми источниками изображений с источником, указанным в атрибуте «alt».
Я вставляю источники изображений после события "window.onload", и оно прекрасно работает.
Я сделал что-то вроде этого:
$(window).bind('load', function() {
var plImages = $(".postLoad");
plImages.each(function() {
$(this).attr("src", $(this).attr("alt"));
});
});
Проблема в том, что: После первой загрузки изображения после загрузки кэшируются. Но если загрузка страницы занимает 10 секунд, кэшированные изображения после загрузки будут отображаться через 10 секунд.
Так что я думаю указать источники изображения для события «document.ready», если изображение кэшируется для немедленного их отображения.
Я нашел эту функцию: navigator.mozIsLocallyAvailable, чтобы проверить, находится ли изображение в кеше. Вот что я сделал с jquery:
//specify cached image sources on dom ready
$(document).ready(function() {
var plImages = $(".postLoad");
plImages.each(function() {
var source = $(this).attr("alt")
var disponible = navigator.mozIsLocallyAvailable(source, true);
if (disponible)
$(this).attr("src", source);
});
});
//specify uncached image sources after page loading
$(window).bind('load', function() {
var plImages = $(".postLoad");
plImages.each(function() {
if ($(this).attr("src") == "")
$(this).attr("src", $(this).attr("alt"));
});
});
Он работает в DOM Mozilla, но не работает ни в одном другом. Я пробовал navigator.isLocallyAvailable: тот же результат.
Есть ли альтернатива?