Javascript Google PageSpeed Insights优先考虑可见内容
我正在做一些测试,当我在加载以下JavaScript的情况下运行域时:Javascript Google PageSpeed Insights优先考虑可见内容,javascript,jquery,html,css,pagespeed,Javascript,Jquery,Html,Css,Pagespeed,我正在做一些测试,当我在加载以下JavaScript的情况下运行域时: $("[data-min-height]").each(function() { var dataHeight = $(this).data("min-height"); var dataPercent = dataHeight / 100; $(this).css("min-height", function() { return $(window).height() *
$("[data-min-height]").each(function() {
var dataHeight = $(this).data("min-height");
var dataPercent = dataHeight / 100;
$(this).css("min-height", function() {
return $(window).height() * dataPercent;
});
});
我得到错误对可见内容进行优先级排序。如果我去掉JavaScript,就不会再出现错误。我正在使用它将所有JavaScript压缩在一起。目前我有,还有。所有内容都被编译成一个名为path.js的文件。我在关闭body元素之前加载该文件,并使用defer
因此,如果有人知道为什么上面的JavaScript会导致PageSpeed出现这种错误,我们将不胜感激。谢谢。将
path.js的所有内容直接嵌入HTML文档中
您可以使用脚本来呈现内容此错误的原因是jQuery的每个函数。我重新构建了同样的东西,但只使用JavaScript for循环(没有jQuery),错误消失了
var arr = document.querySelectorAll("[data-min-height]");
for (var i = 0; i < arr.length; i++){
var currentWindowHeight = window.innerHeight;
var dataHeight = arr[i].dataset.minHeight;
var dataPercent = dataHeight / 100;
var dataPercentHeight = currentWindowHeight * dataPercent;
arr[i].style.minHeight=dataPercentHeight + "px";
}
var arr=document.queryselectoral(“[data min height]”);
对于(变量i=0;i
您可以让我在
中插入这个JS代码块吗?不,它在path.JS文件中(在结束正文元素之前加载)。这就是为什么我没有得到它,因为它与底部的其余javascript(jQuery、MatchHeight等)一起。尝试动态创建script
元素,将type
和src
分配给它,然后最后将其附加到文档的头部var el=document.createElement('script');el.src=“scripts/path.js”;el.type=“text/javascript”;document.getElementsByTagName('head')[0].appendChild(el)代码>我在页面底部添加了您的代码(就在结束正文元素之前),但在PageSpeed(对可见内容进行优先级排序)上仍然存在相同的错误。我也删除了发布的JavaScript并重新运行了测试,不再出现错误。所以它必须与代码有关,可能是每个循环,idk?我放进去了,它成功了!非常感谢。100/100页面速度!