首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调整窗口大小时重新加载jQuery :移动设备上的循环

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

Stack Overflow用户
提问于 2019-05-03 16:03:34
回答 1查看 335关注 0票数 0

我正在使用jQuery脚本重新加载网页,以防窗口大小发生变化。它在桌面上运行得很好,但是在智能手机上有一个很大的问题:它也在移动滚动事件上执行。每当我在我的iPhone 6s上打开页面并开始滚动时,页面在2000毫秒后重新加载。

我找到了一个可行的解决方案,但我不确定如何将其包含到我的代码中,因为这也必须为Wordpress修改(老实说:我总是不确定如何修改jQuery才能在Wordpress上正常工作)。

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

代码语言:javascript
运行
复制
<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函数之前对其进行验证。我不知道如何将这两个函数绑定在一起。

代码语言:javascript
运行
复制
var dwidth = $(window).width();

$(window).resize(function(){
    var wwidth = $(window).width();
    if(dwidth!==wwidth){
         dwidth = $(window).width();
         console.log('Width changed');
    }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-07 23:20:17

当窗口大小改变时,此脚本重新加载网页。有一个1000毫秒的延迟,以确保网站只在调整大小后重新加载。为了防止在移动滚动事件中重新加载页面,我添加了this piece of code。如果它真的改变了,它会检查窗口的大小。

代码语言:javascript
运行
复制
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中测试过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55965612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档