Краткая версия вопроса: Есть ли функция 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"));
});
});
Он работает на Mozilla DOM, но он не работает ни на одном другом. Я попробовал navigator.isLocallyAvailable: тот же результат.
Есть ли альтернатива?