html - Chrome 原生图像延迟加载仅适用于 iframe
问题描述
Chrome 81、FF 75(今天最新)
在 Chrome 原生图像延迟加载仅在 iframe 内有效。为什么?在 FF 中效果很好
page1.htm(延迟加载在 Chrome 中不起作用,但在 FF 中效果很好):
<p style="margin-bottom: 1000px;">Please scroll down. The image is below the viewport.</p>
<p style="margin-bottom: 1000px;">Please scroll down. The image is below the viewport.</p>
<img src="https://wallpaperplay.com/walls/full/5/e/a/218959.jpg" loading="lazy">
page2.htm(通过 iframe 延迟加载在 Chrome 和 FF 中都有效):
<iframe src="page1.htm">
是 Chrome 的错误吗?在FF中效果很好
(您可以通过滚动和开发者工具 -> 网络检查图像延迟加载)
解决方案
我有同样的问题,但只有当图像足够靠近视口时。否则它会被延迟加载。
请尝试在 Chrome 中打开这个最小的工作示例,然后慢慢向下滚动页面。当视口大约位于页面中间时,将加载图像。
<html>
<head>
<style>
.dummy {
height: 700vh;
}
</style>
</head>
<body>
<div class="dummy"></div>
<img src="https://yasminfinch.com/wp-content/uploads/2015/03/Hello-icon-300x212.jpg" loading="lazy">
</body>
</html>
如果没有信心,我可以建议它是一个功能,而不是一个错误。某种优化。例如,当用户足够快地向上/向下滚动时,它会减少看到图像正在加载的机会。
推荐阅读
- python - 使用字符串列表作为键更新嵌套 JSON 文件中的单个值
- reactjs - React-Typescript 中非对象变量的“对象可能未定义”错误
- python - 如何错误处理 discord.py 中的 spotify 命令?
- matlab - 在 MATLAB 中使用 readmatrix 加载多个 Excel 文件
- python - 在数据框中创建一个新列,该列添加具有与另一列对应的更改的值
- azure-pipelines - Azure Pipelines 将一个 repo 管道移动到多个 repo 管道。需要的最小更改是多少?
- vb.net - vb.net保存未绑定的datagrid列值
- typescript - 在加载或在 React Native 中显示时动画反应导航底部选项卡导航屏幕的组件
- vim - Neovim 中的 COC 弹出样式
- javascript - 更新购物车和结帐中的滚动(Woocommerce + Locomotive Scroll)