我在运行iOS 9.3.1的iPad 2和iPhone 6上有一些奇怪的行为。
在我的网站上有一个<div>
,位于relative
,其高度固定,由window.load()
(jQuery)上的javascript计算。
在这个div
中,我的可滚动内容。
该网站在Joomla 3.5上运行,我使用了一个类别来显示一些图像作为图库的缩略图。
在普通网站上加载没有问题,点击即可正常工作。
但进入图库并按下浏览器后退按钮(safari / chrome表现相同)内容不再可滚动。 更改设备方向后,从菜单中选择另一个站点或重新加载滚动工作再次正常。
在所有其他设备(Windows / Android)上,我没有任何问题。
JS代码(缩短 - 它是影响特定div
的所有代码):
$(window).on('load', function () {
wheight = $(window).outerHeight();
innerWrap.css(
'max-height',
wheight - $('#wrapper').height() - $('footer').height() - 67 + "px"
);
});
我已经在网上搜索了iOS滚动错误,但没有任何修复似乎对我有用。
有什么建议吗?
答案 0 :(得分:0)
我找到了解决方案。
在回去后发现我的javascript没有在.load
上执行时,我专门搜索了这个执行问题。
问题在于系统的内部缓存,用于在浏览器“返回”时快速显示网站。
一个小小的javascript片段救了我:
jQuery(window).bind("pageshow", function(event) {
if (event.originalEvent.persisted) {
window.location.reload();
}
});
添加此页面后,页面会进行真正的重新加载并正常呈现,并进行滚动工作!