代码之家  ›  专栏  ›  技术社区  ›  zessx

不考虑pagespeed不考虑转换属性

  •  0
  • zessx  · 技术社区  · 7 年前

    我使用的是nginxpagespeed模块,在使用管理图像时遇到了一个问题 jquery.matchHeight.js . 我决定禁用对这些特定图像的优化,我添加了 pagespeed_no_transform 属性(我也试过 data-pagespeed-no-transform 没有成功):

    <img src="https://example.com/image-icon_300.png" alt="Alt title" pagespeed_no_transform />
    

    不幸的是,PageSpeed似乎没有考虑到这个属性。更糟的是 把它拿走

    <img src="https://example.com/image-icon_300.png.pagespeed.ce.gkz42_jTc5@2x.png" alt="Alt title" data-pagespeed-url-hash="627608977" onload="pagespeed.CriticalImages.checkImageForCriticality(this);" width="240" height="200">
    

    在cas中,这与我的PageSpeed版本/配置有关,以下是我的Nginx配置:

    # Header X-Page-Speed: 1.13.35.2-0
    server {
      # Ansible managed
      pagespeed on;
      pagespeed FileCachePath /var/ngx_pagespeed_cache;
    
      location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
        add_header "" "";
      }
      location ~ "^/pagespeed_static/" { }
      location ~ "^/ngx_pagespeed_beacon$" { }
    }
    
    0 回复  |  直到 7 年前
        1
  •  0
  •   zessx    6 年前

    PageSpeed可对图像进行多种优化,主要有:

    • 转换(转换为PNG、JPEG或WebP)
    • 再压缩
    • 内联
    • 缓存

    当使用 data-pagespeed-no-transform 属性,你告诉PageSpeed不要“转换”你的图像, 但这并不意味着它不会被缓存 ,这就是为什么你仍然看到 https://example.com/image-icon_300.png.pagespeed.ce.gkz42_jTc5@2x.png 网址。

    要知道您的图像是否已转换,您需要检查其URL:

    • 仅缓存: image-icon_300.png.pagespeed.ce.gkz42_jTc5@2x.png
    • 150x150ximage-icon_300.png.pagespeed.ce.gkz42_jTc5@2x.png
    • ximage-icon_300.png.pagespeed.ic.gkz42_jTc5@2x.webp
    • 内联线: data:image/jpeg;base64,…