【问题标题】:Preloader not getting dismissed on timeout, jQuery预加载器在超时时不会被解雇,jQuery
【发布时间】:2019-07-29 19:27:47
【问题描述】:

我的网站有一个奇怪的问题:在本地机器上测试时页面正常加载,但部署后预加载器(仅在桌面上可见)不会被关闭。

我正在编辑的模板使用 jQuery 3.2.1

jQuery(window).load('body', function() {
    setTimeout(function() {
        jQuery('.mihi_tm_preloader').addClass('loaded');
    }, 1000);
});

更新:

1. 签出后,在我的本地机器上它会在控制台中抛出这些错误:

2. 部署到服务器时会出现以下错误:

【问题讨论】:

  • 在开发者控制台中检查网络活动,确保加载级别没有卡住
  • Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined at qa (jquery.js:3) at Ja (jquery.js:3) at r.fn.init.append (jquery.js:3) at r.fn.init.<anonymous> (jquery.js:3) at T (jquery.js:3) at r.fn.init.html (jquery.js:3) at Object.<anonymous> (jquery.js:4) at i (jquery.js:2) at Object.fireWith [as resolveWith] (jquery.js:2) at A (jquery.js:4)
  • 另外,如果您使用的是最新版本的 jquery,我建议使用 $(window).on("load",function(){}) 代替
  • 问题是这个版本的jQuery自带的模板..你可以在js/init.js等处查看源码

标签: javascript jquery html css


【解决方案1】:

您似乎遇到了错误:“Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined”导致您的 jquery 无法执行。

这里有一个链接可以帮助您找出问题所在,或者发布您的 jquery 以获得更多帮助。

Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined

【讨论】:

  • 无法弄清楚片段在哪里使用?
  • 如果你发布你的 jquery,也许新的眼睛会有所帮助
  • 请问您在进度条函数中的 container.find() 中的“容器”变量在哪里?否则我真的没有看到任何明显的东西
【解决方案2】:

似乎问题出在 jQuery(window).load('body', function() 所以我删除了它并添加了一个简单的延迟功能:

function dismiss_preloader(){
    setTimeout(function() {
        jQuery('.mihi_tm_preloader').addClass('loaded');
    }, 1000);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多