我的 HTML 中确实有以下代码:
<img src="#" alt="image alternative text" />
是什么src="#"
意思?因为在 HTML 中,图像标签不能有空src
属性。如果我们没有该属性,Visual Studio 2012 会提出建议。
谢谢
我的 HTML 中确实有以下代码:
<img src="#" alt="image alternative text" />
是什么src="#"
意思?因为在 HTML 中,图像标签不能有空src
属性。如果我们没有该属性,Visual Studio 2012 会提出建议。
谢谢
当您不希望使用 src 属性加载任何图像时(可能稍后动态加载图像),您需要将 src 设置为空。但是当你这样做时,浏览器仍然会向服务器发送调用。
空 src 的浏览器行为(来源:http: //developer.yahoo.com/performance/rules.html)
Internet Explorer 向页面所在的目录发出请求。Safari 和 Chrome 向实际页面本身发出请求。Firefox 3 及更早版本的行为与 Safari 和 Chrome 相同,但 3.5 版解决了此问题 [错误 444931] 并且不再发送请求。当遇到空图像 src 时,Opera 不会做任何事情。
为了避免对服务器的不必要调用,而不是使用空 src,src="#"
可以使用形成哈希 url 并且哈希 url 不会发送到服务器。
假设基本网址是: http: //mysite.com/myapp/
src=""
-> 绝对网址: http: //mysite.com/myapp/
src="#"
-> 绝对网址: http: //mysite.com/myapp/ #
与href
锚元素的属性一样,<img src="#">
大致相当于<img src="thecurrenturl#" ..
> (但请参阅小提琴示例以了解为什么它不完全相同)。
正如它所写的那样,它src
永远不会引用有效的图像资源,但大概,某些东西/某人可以稍后更改 URL 或以其他方式操纵元素。由于该src
属性是必需的1,因此替换为这样一个有效的“虚拟”值可以安抚诸如 Visual Studio 编辑器之类的工具。
这个小提琴显示了可以通过使用 DOMsrc
属性观察到的行为。
1 “src 属性必须存在,并且必须包含有效的非空 URL ..”
大多数人将其用作链接的占位符,以便在代码编译时不会出现错误。如果程序员给您一些代码,其中“#”作为占位符,他们可能希望您将其与 Web URL 互换。
很可能只是一个占位符,可以根据事件侦听器动态更改(或者像@FabricioMatte 建议的那样,一种延迟加载技术。)它也可能只是一个绕过任何潜在错误的占位符。
在中,根据 URL 标准 STD 66 aka RFC 3986src="#"
,属性值是对当前基本 URL 处文档开头的引用。您需要相当特殊的安排才能使其实际用作对图像的引用。
为什么有人会使用这样的属性是一个不同的问题,另一个问题是该构造应该解决的问题是什么。