我对图像使用了一种延迟加载技术。每当新图像出现在viewport中时,都会设置src属性,以便可以加载图像。这种技术已经使用了多年,直到iOS7问世。
有规律的页面浏览效果很好。但是当你关闭浏览器的时候,稍等一下,打开一些其他的应用程序,然后回来,它就不再工作了。有时,在制表符之间切换也会扼杀功能。
$(window).bind('scroll resize', function () {
checkImages();
});
有关完整演示: JSFiddle:http://jsfiddle.net/NZqGL/1/,请参阅http://jsfiddle.net/NZqGL/1/
我知道JavaScript的执行因为不活跃的应用程序和浏览器标签而被挂起。但对我来说,事情是新的。
这也是很难测试,因为行为是非常不可预测的。有时它需要2秒钟的不活动才能被打破,有时它只会继续工作。
在iOS 7.0.4上测试
更新2014年2月12日:--这是iOS 7.0中的一个已确认的错误,苹果已经确认这将在iOS 7.1中得到修复。
发布于 2013-12-13 15:44:54
在这里,使用touchend事件是一个可以接受的解决方法。
在释放手指和滚动事件之间存在延迟。当你在屏幕上快速移动手指时,你的手指松开后滚动会持续一段时间。
iOS还有另一个错误,它阻止在页面仍在滚动时执行JavaScript。因此,在实际滚动(而不是你松开手指的那一刻)之后,触边事件就会有效地触发。因此,滚动事件和触屏事件同时发生。
现在,我正在侦听这两个事件,并使用timer/setTimeout构造来防止代码执行两次。
https://stackoverflow.com/questions/20380187
复制相似问题