jQuery在窗口调整大小时重新加载:在移动设备上循环

时间:2019-05-03 08:03:34

标签: jquery wordpress

我正在使用jQuery脚本重新加载网页,以防更改窗口大小。 它在台式机上运行良好,但是在智能手机上,此代码存在一个大问题:它也在移动滚动事件上执行。每当我在iPhone 6s上打开页面并开始滚动时,页面将在2000毫秒后重新加载。

我找到了一个可能的解决方案,但是我不确定如何将其包含在我的代码中,因为还必须针对Wordpress进行修改(说实话:我始终不确定必须如何修改jQuery,以便在Wordpress上正常工作。)

此代码完成了工作,但是重新加载了移动设备上页面滚动的页面:

import random

myList = ['a', 'b', 'c', 'd', 'e']
print(random.choice(myList))

某些代码我found会在执行重新加载功能之前检查窗口大小并对其进行验证。我不知道如何将这两个功能绑定在一起。

<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>

1 个答案:

答案 0 :(得分:0)

更改窗口大小后,此脚本将重新加载网页。有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);
}
});

在Chromepress和iPhone 6的Wordpress中进行了测试。