简短版本问题: 是否有navigator.mozIsLocallyAvailable等效功能适用于所有浏览器,或替代?
长版:)
嗨,这是我的情况:我想为asp.net MVC实现一个HtmlHelper扩展,它可以轻松处理图像后加载(使用jQuery).
所以我使用"alt"属性中指定的源渲染具有空图像源的页面.我在"window.onload"事件之后插入图像源,效果很好.
我做了这样的事情:
$(window).bind('load', function() {
var plImages = $(".postLoad");
plImages.each(function() {
$(this).attr("src", $(this).attr("alt"));
});
});
Run Code Online (Sandbox Code Playgroud)
问题是:第一次加载后,缓存后加载的图像.但是如果页面加载需要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"));
});
});
Run Code Online (Sandbox Code Playgroud)
它适用于Mozilla的DOM,但它不适用于任何其他DOM.我试过navigator.isLocallyAvailable:相同的结果.
还有其他选择吗?