我有一个带有图片滑块的网站。当图片加载时,我将一些图片标签保留为空,以便更快地加载页面。图片标签定义如下:
<img data-src="img/portfolio-desktop1-small.png" src="" alt=""/>
我正在做的是在slide函数上,我用jQuery动画将src
更改为data-src
。滑块工作得很好。我的问题是,当我试图在w3c validation tool中验证它时,它给出了以下错误:
第131行,第179列:元素img
的属性src
的值错误:必须为非空。
...data-src="img/portfolio-desktop1-small.jpg" src="" alt=""/>
URL的语法:
任何URL。例如:/hello
、#canvas
或http://example.org/
。〉字符应在NFC中表示,空格应转义为%20
。
有没有办法在不改变JavaScript或CSS的情况下修复这个问题?如果我这样离开它,这件事可能会有什么有害的结果?
4条答案
按热度按时间nbnkbykc1#
将 图像
src
属性 设置 为#
:中 的 每 一 个
HTML 很 好 地 通过 了 W3C 验证 器 , 现代 浏览 器 知道 不要 试图 加载 不 存在 的 图像 。 *
相比 之 下 , 使用 引用 不 存在 文件 的
src
值 会 导致 不 必要 的 HTTP 请求 和 错误 :格式
无法 加载 资源 :服务 器 上 没有 找到 请求 的 URL 。
#
的 相互 矛盾 的 信息 。 如果 有人 有 确切 的 信息 , 请 添加 评论 。 *另 请 参阅 * sidehowbarker * 关于
action
属性 的 相关 回答 :https://stackoverflow.com/a/32491636 的 最 大 值
# # # 更新 :* 二 〇 二二 年 十一 月 *
看 起来
src="#"
技巧 曾经 是 一 个 不错 的 解决 方案 , 但 现在 把 它 发送 到 浏览 器 已经 不是 一 个 好 主意 了 。 所以 , 我 创建 了 一 个 构建 工具 , 将 源 HTML 中 出现 的src="#"
转换 为 适合 浏览 器 的 一 个 微小 的 不可 见 的 单 像素 SVG 的 内联 data URLs 。img-src-placeholder
: * *https://github.com/center-key/img-src-placeholder ( MIT 许可 证 )
有趣 的 是 :
格式
生成 的 HTML 将 具有
<img>
标记 , 如下 所 示 :格式
使用 建置 工具 的 优点 在于 :
1.源 保持 整洁
1.内联 数据 URL 可 防止 浏览 器 发出 不 必要 且 无效 的 网络 请求
brgchamk2#
如果 你 只是 删除 src 属性 , 然后 在 需要 的 时候 添加 它 , 会 发生 什么 ? src 属性 不是 必需 的 。 在 我 看来 , 我 不会 担心 w3c 验证 工具 会 说 什么 。 只要 你 在 必要 的 浏览 器 中 测试 它 , 它 就 能 工作 。
9rbhqvlz3#
**2021年1月更新。**src="#”技巧现在在https://www.w3.org/TR/html-media-capture/的验证器上有效
t5zmwmid4#
如果有人还在寻找答案,那么
src="/"
代码会解决w3c验证器的抱怨,并且不会像带有#
字符的解决方案那样产生额外的请求。