我正在使用jQuery脚本重新加载网页,以防窗口大小发生变化。它在桌面上运行得很好,但是在智能手机上有一个很大的问题:它也在移动滚动事件上执行。每当我在我的iPhone 6s上打开页面并开始滚动时,页面在2000毫秒后重新加载。
我找到了一个可行的解决方案,但我不确定如何将其包含到我的代码中,因为这也必须为Wordpress修改(老实说:我总是不确定如何修改jQuery才能在Wordpress上正常工作)。
此代码完成此工作,但在移动设备上以页面滚动重新加载页面:
<script type="text/javascript">
jQuery(document).ready(function(){
/// I think this is not really needed
})
jQuery(window).bind('resize', function(e){
if (window.RT) clearTimeout(window.RT);
window.RT = setTimeout(function(){
this.location.reload(false); /* false to get page from cache */
}, 2000);
});
</script>
一些代码将检查窗口大小并在执行found函数之前对其进行验证。我不知道如何将这两个函数绑定在一起。
var dwidth = $(window).width();
$(window).resize(function(){
var wwidth = $(window).width();
if(dwidth!==wwidth){
dwidth = $(window).width();
console.log('Width changed');
}
});
发布于 2019-05-07 23:20:17
当窗口大小改变时,此脚本重新加载网页。有一个1000毫秒的延迟,以确保网站只在调整大小后重新加载。为了防止在移动滚动事件中重新加载页面,我添加了this piece of code。如果它真的改变了,它会检查窗口的大小。
var dwidth = jQuery(window).width();
jQuery(window).bind('resize', function(e){
var wwidth = jQuery(window).width();
if(dwidth!==wwidth){
dwidth = jQuery(window).width();
if (window.RT) clearTimeout(window.RT);
window.RT = setTimeout(function(){
this.location.reload(false); /* false to get page from cache */
}, 1000);
}
});
在Chrome和iPhone 6上的Wordpress中测试过。
https://stackoverflow.com/questions/55965612
复制相似问题