在将我的WordPress网站移动到一个新位置后,我开始在WP管理员中看到奇怪的行为,包括:
- 当点击帖子进行编辑时,会出现一条红色消息,上面写着";块编辑器需要JavaScript。请在浏览器设置中启用JavaScript,或尝试经典编辑器插件";短暂弹出,然后页面变成完全白色
- 在我的主题选项(Divi Extra(中,所有选项都列出了,但它们的启用/禁用切换按钮都不见了
- 在某些插件的设置屏幕上,拖放和单击选项卡以查看其他设置等操作已经停止
在经历了这些事情之后,当检查浏览器控制台时,我看到了很多";jQuery。延迟异常:jQuery(someFunction(不是一个函数"以及相应的";未捕获的类型错误:jQuery(someFunction(不是一个函数"用于几个jQuery函数。例如:
jquery.min.js?ver=3.5.1:2 jQuery.Deferred exception: jQuery(...).sortable is not a function TypeError: jQuery(...).sortable is not a function
at HTMLDocument.<anonymous> (<anonymous>:1:69)
at e (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.5.1:2:30005)
at t (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.5.1:2:30307) undefined
Uncaught TypeError: jQuery(...).sortable is not a function
at HTMLDocument.<anonymous> (<anonymous>:1:69)
at e (jquery.min.js?ver=3.5.1:2)
at t (jquery.min.js?ver=3.5.1:2)
我一直在读这篇文章,听起来问题是jQuery函数在定义之前就被要求运行,而解决方案是确保jQuery在任何依赖它的东西之前加载。这是有道理的,但当我检查源代码时,它就在页面顶部附近:
<script src='https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.5.1' id='jquery-core-js' type="text/psajs" orig_index="2"></script>
我还没有对wp_enque_script((做任何操作,因为到目前为止我读到的所有内容都表明,只有在添加一些自定义js时,它才会发挥作用。。。但唯一的";自定义";我网站上的javascript就是我所拥有的插件中包含的任何东西。再说一遍,在我移动WordPress之前,这些都没有发生。
我想具体理解的是:
- 我的问题是jquery.min.js在这些管理页面上加载不够快吗
- 如果是这样,强制它更快/更快加载的最佳方法是什么
提前感谢任何能够并愿意提供帮助的人!
关闭web服务器上名为mod_pagespeed_beacon的模块可以解决这三个问题。