Javascript 使用JS/Jquery在所有图像上添加显式宽度和高度

Javascript 使用JS/Jquery在所有图像上添加显式宽度和高度,javascript,html,jquery,pagespeed,lighthouse,Javascript,Html,Jquery,Pagespeed,Lighthouse,现在google在图像上添加显式的宽度和高度是很重要的,现在我必须在我所有的客户端站点上手动添加,有没有办法用JS/Jquery在所有图像上添加这些属性?并通过谷歌页面速度测试 我尝试过使用这段代码,它添加了attr,但没有删除标志 $(document).ready(function(){ $('img').each(function(idx, img) { $(this).attr({ width: img.naturalWidth, height: im

现在google在图像上添加显式的宽度和高度是很重要的,现在我必须在我所有的客户端站点上手动添加,有没有办法用JS/Jquery在所有图像上添加这些属性?并通过谷歌页面速度测试

我尝试过使用这段代码,它添加了attr,但没有删除标志

$(document).ready(function(){
  $('img').each(function(idx, img) {
    $(this).attr({
      width: img.naturalWidth,
      height: img.naturalHeight
    })
  });
});
试用

$(window).load(function() {}
而不是

$(document).ready(function(){}

仅仅添加高度和宽度属性是行不通的,您还需要将图像裁剪到精确的尺寸。例如,如果您设置了100px的高度和宽度,那么图像的高度和宽度也应该是100px。

很可能不会删除该标志,因为使用JS添加属性在页面生命周期中太晚了,无法生效。你需要将它们放在实际的HTML源代码中。如果这与谷歌搜索有关,它们会为预呈现的页面编制索引(没有javascript),因此jquery解决方案不会产生效果。@Kinglish这已经不是真的了,谷歌有可以解释JS的爬行技术。@Kinglish它是为[灯塔]设计的这是内置到Chrome:F12/灯塔选项卡,然后重新加载您的页面。它运行各种分析,其中之一是
标记是否具有
高度=
宽度=
属性。在分析运行后添加这些对分析没有影响。如上所述,
img
标记将以无大小呈现,加载图像并在获取图像大小时强制页面重新布局,因此不会影响页面呈现时间。如果img标签在第一次呈现时具有尺寸,则页面不需要重新布局,从而可能大幅提高速度。任何依赖于客户机自身确定的图像尺寸的尝试当然都是毫无意义的。这样做的全部目的是提前告诉客户有关图像尺寸的信息。不是我的下一票,而是如果
document.ready
不起作用,那么移动逻辑以在以后使用
窗口执行。load
不会解决问题。