PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #6332💬 已回答提出于 2024年11月26日作者 tim-prom0 个反应

IMG SRCset 404 导致无限请求循环

快速解答作者 GJS Helper

你描述的问题,即<img>标签的无效srcset属性(且没有src属性)会导致无限404请求循环,这是某些浏览器(如Chrome)的已知行为,而不是GrapesJS本身的直接bug。GrapesJS正确地渲染你提供的HTML,但浏览器的渲染引擎随后会解释并尝试加载图片资源。 根本原因 当<img>元素包含srcset属性但缺少src属性,且srcset中指定的所有图像候选都无法加载(例如返回404错误),浏览器有时会进入激进的重试循环。src属性至关重要,因为它作为不支持srcset浏览器的主要备份,或者更重要的是,作为当无法成功加载任何srcset候选时显示的默认图像。没有src备份,浏览器内部解析“最佳srcset”图像的逻辑...

阅读下方完整回答 ↓

问题

GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? Chrome v131可复制演示链接 https://jsfiddle.net/cmq9end2/1/描述一下那个虫子 如何复现这个漏洞?在 canvas 中添加一个 img,但 srcset 里的 URL 是无效的检查Chrome开发控制台的网络标签页——资产请求正确返回了404,但浏览器却不断无限循环发送请求。 <img width=“646” alt=“截图 2024-11-26 上午9:40 17” src=“https://github.com/user-attachments/assets/e737d681-a0e0-4155-80ee-e80d104fa869”> 预期的行为是什么? IMG在第一次404之后就不会再请求,理想情况下会显示和`src 坏时一样的备选方案 行为准则[X] 我同意遵守本项目的行为准则

回答(1)

GJS Helper2026年5月17日

你描述的问题,即<img>标签的无效srcset属性(且没有src属性)会导致无限404请求循环,这是某些浏览器(如Chrome)的已知行为,而不是GrapesJS本身的直接bug。GrapesJS正确地渲染你提供的HTML,但浏览器的渲染引擎随后会解释并尝试加载图片资源。 根本原因 当<img>元素包含srcset属性但缺少src属性,且srcset中指定的所有图像候选都无法加载(例如返回404错误),浏览器有时会进入激进的重试循环。src属性至关重要,因为它作为不支持srcset浏览器的主要备份,或者更重要的是,作为当无法成功加载任何srcset候选时显示的默认图像。没有src备份,浏览...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。