我尝试使用PageSpeed Insights对我的网站进行optymalize。
此Google工具显示错误:
"Eliminate blocking rendering JavaScript code".
我在页面末尾从头部移动了所有脚本代码。
错误已得到修复,但现在我遇到了控制台错误:
ReferenceError: $ is not defined $(document).ready(function() {
错误的原因可能是身体部分的几个js代码。 我怎么能消除这个? 我是否必须在页面末尾从正文中移动代码,还是有其他解决方案?
答案 0 :(得分:0)
这是一个依赖性问题,有些东西在它启动之前使用jQuery(可能)。 jQuery加载器脚本是否仍在头文件中,或者在使用$(document).ready()?
的脚本之上有些脚本是异步的,有些则不是。请记住这一点,因为如果jQuery for instance是异步加载的并且在您的脚本之上,并且您的脚本是同步加载的,那么它可能无关紧要。在异步脚本加载完毕之前,您的脚本仍会被加载。
没有必要将异步脚本放在正文的底部 - 有时候,PageSpeed对于块渲染脚本的假设是不正确的。你也可以试试"推迟"在DOM准备就绪后,您希望延迟的脚本标记上的HTML属性。