使用后退按钮时在移动浏览器上加载jQuery lazyload

使用后退按钮时在移动浏览器上加载jQuery lazyload,jquery,lazy-loading,Jquery,Lazy Loading,我正在尝试使用jquery lazyload插件在我的webapp上懒散地加载内容,在第一次加载页面时,它就可以完美地工作。这是我使用的代码: $(".lazy").lazyload({ effect : "fadeIn", container: $("#wrapper") }); 问题在于浏览器的向后导航。当用户转到一个新页面,然后单击“上一步”按钮使用lazyload功能返回该页面时,浏览器视口中不存在的任何图像都将继续la

我正在尝试使用jquery lazyload插件在我的webapp上懒散地加载内容,在第一次加载页面时,它就可以完美地工作。这是我使用的代码:

    $(".lazy").lazyload({         
        effect : "fadeIn",
        container: $("#wrapper")
    });
问题在于浏览器的向后导航。当用户转到一个新页面,然后单击“上一步”按钮使用lazyload功能返回该页面时,浏览器视口中不存在的任何图像都将继续lazyload,但在页面更改之前未完成加载和显示的视口中最后一个图像将不会加载。因此,在先前加载的图像和下一个加载的图像之间,未完成图像的位置只有一个空白


有没有人能想出一个解决这个问题的办法,以便在返回导航时,未完成加载的图像可以继续加载,也可以重新加载?

阅读了一些文档后,我能够使用以下方法在所有浏览器中工作:

function myLoadHandler(evt)
{
    if (evt.persisted) {

        $(".lazy").lazyload({         
            effect : "fadeIn",
            container: $("#wrapper")
        });

        return;
    }

        $(".lazy").lazyload({         
            effect : "fadeIn",
            container: $("#wrapper")
        });
}

function myUnloadHandler(evt)
{
    if (evt.persisted) {
        $.noop();

        return;
    }

    $.noop();
}

if ("onpagehide" in window) {
    window.addEventListener("pageshow", myLoadHandler, false);
    window.addEventListener("pagehide", myUnloadHandler, false);
} else {
    window.addEventListener("load", myLoadHandler, false);
    window.addEventListener("unload", myUnloadHandler, false);
}

阅读了一些文档后,我能够使用以下方法在所有浏览器中运行它:

function myLoadHandler(evt)
{
    if (evt.persisted) {

        $(".lazy").lazyload({         
            effect : "fadeIn",
            container: $("#wrapper")
        });

        return;
    }

        $(".lazy").lazyload({         
            effect : "fadeIn",
            container: $("#wrapper")
        });
}

function myUnloadHandler(evt)
{
    if (evt.persisted) {
        $.noop();

        return;
    }

    $.noop();
}

if ("onpagehide" in window) {
    window.addEventListener("pageshow", myLoadHandler, false);
    window.addEventListener("pagehide", myUnloadHandler, false);
} else {
    window.addEventListener("load", myLoadHandler, false);
    window.addEventListener("unload", myUnloadHandler, false);
}
这是由于。在这个问题上可以找到更好的解释 . 显然,这个问题只影响iOS5 Mobile Safari。此问题已在中修复。

这是由于。在这个问题上可以找到更好的解释
. 显然,这个问题只影响iOS5 Mobile Safari。此问题已解决。

此问题仍然没有解决。有人吗?还是不走运。有人吗?如果条件通过或失败,您的“myLoadHandler”和“myUnloadHandler”方法会执行完全相同的操作。(为孩子们)删掉无用的代码如果条件通过或失败,您的“myLoadHandler”和“myUnloadHandler”方法会执行完全相同的操作。(为孩子们)删掉无用的代码