web-网站在Chrome上滚动时滞后

我的网站 (https://whatifhq.com) 加载正常,并且相当快。但是,当我尝试向下滚动时,它开始变得 laggy 并且不再平滑。我只在 Chrome 中遇到过这个问题。(在 chrome,edge,ie 上测试)。我正在使用 Chrome V 70,WordPress for my website 和 PHP 7.1

我的网站 (https://whatifhq.com) 加载正常,并且相当快。但是,当我尝试向下滚动时,它开始变得 laggy 并且不再平滑。我只在 Chrome 中遇到过这个问题。(在 chrome,edge,ie 上测试)。我正在使用 Chrome V 70,WordPress for my website 和 PHP 7.1

我读了一些其他 SO 帖子,大多数建议删除一些脚本,图像,动画。所以,我删除了 animate.css,Adsense 和一些其他图像。但是,它仍然无常工作。

这个问题只发生在桌面上。我的网站的移动版本在同一台计算机上工作正常。(移动和桌面的内容基本相同。)

可能导致问题的一件事是我的 AJAX 无限滚动脚本。它检查窗口处于什么位置,然后决定是否加载新内容。然而,这个功能也在我的移动站点上,它工作正常。此外,滚动问题也存在于没有 AJAX 的页面上,像这样https://whatifhq.com/question/where-can-one-find-some-good-resume-cv-templates/

我也做了一些速度测试,并获得了非常好的成绩。85 % + Pagespeed,所有 'A' WebPageTest。

有人能帮忙吗?

编辑:不是 Ajax。我删除了脚本,页面仍然滞后。

这是我的 My AJAX 脚本

$(document).ready(function(){
    InfinitiScroll = Backbone.View.extend({
        el: 'body',
        initialize : function(){
            var view = this;
            $(window).scroll(function(){
                if($(window).scrollTop() >= ($(document).height() - $(window).height()) - 1000  && $("#post_loading").attr('data-fetch') == 1 ){
                    view.ajaxData(query_default);   
                }
            });
            var loading         = $('body').find('#post_loading'),
                fetch           = $(loading).data('fetch'),
                type            = $(loading).data('type'),
                term            = $(loading).data('term'),
                taxonomy        = $(loading).data('taxonomy'),
                posts_per_page  = $(loading).data('current-page'),
                sort            = $(loading).data('sort'),
                keyword         = $(loading).data('keyword'),
                query_default = {
                            action : 'et_post_sync',
                            method : 'scroll',
                            data : {
                                posts_per_page : posts_per_page,
                                type : type,
                                term : term,
                                taxonomy : taxonomy,
                                sort : sort,
                                page : 1,
                                keyword : keyword
                            }
                        };
            setInterval(function(){
                if($('ul#main_questions_list li.question-item').length < 6 && $("#post_loading").attr('data-fetch') == 1 ){
                    view.ajaxData(query_default);
                }                           
            }, 3000);                           
        },
        ajaxData : function(query_default){
            var loading = $('body').find('#post_loading');
            query_default['data']['page'] += 1;
            $.ajax({
                url : ae_globals.ajaxURL,
                type : 'post',
                data : query_default,
                beforeSend : function(){
                    $(loading).removeClass('hide');
                    $(loading).attr('data-fetch',0);
                },
                error : function(){
                    $(loading).addClass('hide');
                    $(loading).attr('data-fetch',1);
                },
                success : function (response){
                    setTimeout(function(){
                        if(response.success){
                            var container = $('body').find('#main_questions_list'),
                                questions = response.data.questions;
                            for (key in questions){
                                $(container).append(questions[key]);
                            }
                            $(loading).addClass('hide');
                            $(loading).attr('data-fetch',1);
                        }else{
                            $(loading).addClass('hide');
                        }
                    },1500);
                }
            }); 
        }
    });
1

我在滚动非 ajax 页面时进行了一些性能分析:https://prnt.sc/lh0s2d。请注意,滚动时 fps 如何下降到〜 10,并且requestAnimationFrame()调用消耗了 95 % 的时间。看起来这一切都归结为在每个帧上调用的这个函数:https://prnt.sc/lh0s5f

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(351)
我们如何使用来自Excel宏(vba)的restfulAPI
上一篇
如何使用Python3.x获取网站的IP地址
下一篇

相关推荐

  • 博客网站源代码:查看网站的实际源代码(how to see the code of a website)

    关于博客网站源代码的问题,在how to see the code of a website中经常遇到,我会用一个例子来解释我的问题。建议我去的 URL:http://www.google.co.il/#q=university…

    2022-11-29 12:20:34
    0 64 46
  • java和javascript:如何使用Java和JavaScript实现Web开发

    示例示例Java和都是编程语言,但它们之间有很大的不同。Java是一种面向对象的、编译型的、跨平台的编程语言,它的代码在运行前需要编译成字节码,然后才能在计算机上运行。Java程序可以在任何支持Java虚拟机的计算机上运行,而不必重新编译。下面是一个简单的Java程序:…

    2023-01-13 09:45:13
    0 42 33
  • http//www.色.com探索色彩的魅力

    http://www.色.com 是一个网站,它提供颜色的信息。该网站收集了来自不同来源的颜色,并将其分类整理,以便用户可以更容易地找到想要的颜色。…

    2023-01-05 14:54:47
    0 94 56
  • qrcode源码:使用QR Code快速轻松地访问网站

    QR Code(二维码)是一种矩阵式的条形码,由日本人周辺发明,也叫做Quick Response Code,它是一种相对比较新的条形码技术,它可以存储更多的信息,而且可以使用普通的摄像头扫描。QR Code的源码可以在GitHub上找到,例如:https://github.com/zxing/zxing 。…

    2023-01-09 08:02:43
    0 31 28
  • jquery获取class的值:$(h1.title).text(Welcome to jQuery);

    jQuery获取class的值的方法有两种:使用.attr()方法:…

    2023-01-09 01:27:08
    0 19 18
  • Ce证书查询网站:https免费证书网站(certificate https free)

    关于Ce证书查询网站的问题,在certificate https free中经常遇到,可以获得免费的 SSL 证书来激活网站上的 HTTPS?我的意思是,不是自动证书,而是经过验证的证书,以便在用户连接时在浏览器中拥有绿色锁。谢谢…

    2022-11-30 13:23:58
    0 44 79
  • 程序员证书有哪些:程序员应该关注哪些HTTP状态码(statuscodes)

    关于程序员证书有哪些的问题,在statuscodes中经常遇到,所以,如果你看一下List of HTTP Status Codes,可能有一些在编程时很有用。服务器可能会处理一些事情,比如协议,但是很多这些代码在告诉浏览器页面的实际状态时可能很有用。…

    2022-12-03 03:46:37
    0 55 16
  • Https服务器:服务器上的 https检查(digicert sha2 secure server ca)

    关于Https服务器的问题,在digicert sha2 secure server ca中经常遇到,我有一个部署在 azure 上的 tomcat 服务器,它有我的 REST API。到现在为止,我使用 HTTP 从我的 android 应用程序联系服务器并获得响应。今天,我向服务器添加了一个自签名证书,当我使用 android 应用程序 (通过将 URL 更改为 https) 进行测试时,一切工作正常。但是,我想确认响应是否实际上正在加密。如何检查?…

    2022-12-17 02:13:03
    0 77 77

发表评论

登录 后才能评论

评论列表(1条)