我有一个图像,我将动态填充src稍后与javascript,但为了方便,我希望图像标签存在于页面加载,但只是不显示任何东西。我知道<img src= " />是无效的,那么最好的方法是什么?
当前回答
虽然没有有效的方法来忽略图像的源,但有一些源不会导致服务器故障。我最近有一个类似的问题与iframes和确定//:0是最好的选择。不,真的!
以//开头(省略协议)导致使用当前页面的协议,防止HTTPS页面中的“不安全内容”警告。没有必要跳过主机名,但可以使其更短。最后,端口为:0确保服务器请求不能发出(根据规范,这不是一个有效的端口)。
这是我发现的唯一一个在任何浏览器中都没有导致服务器命中或错误消息的URL。通常的选择——javascript:void(0)——如果在通过HTTPS提供服务的页面上使用,会在IE7中导致“不安全内容”警告。任何其他端口都会导致尝试服务器连接,即使是无效地址。(一些浏览器会简单地发出无效的请求并等待它们超时。)
这在Chrome, Safari 5, FF 3.6和IE 6/7/8中进行了测试,但我希望它能在任何浏览器中工作,因为它应该是网络层,可以杀死任何尝试的请求。
其他回答
在我看来,这些天最好的简短,理智和有效的空img src的方式是这样的:
<img src="data:," alt>
or
<img src="data:," alt="Alternative Text">
第二个例子显示“Alternative Text”(加上Chrome和IE中的broken-image-icon)。
"data:,"是一个有效的URI。空媒体类型默认为文本/纯。所以它表示一个空文本文件,相当于“data:text/plain”,
OT:所有浏览器都能理解纯alt。你可以省略="",这在HTML规范中是隐式的。
简单来说,就像这样:
<img id="give_me_src"/>
我建议动态添加元素,如果使用jQuery或其他JavaScript库,它是相当简单的:
http://api.jquery.com/appendTo/ http://api.jquery.com/prependTo/ http://api.jquery.com/html/
再看看prepend和append。否则,如果你有一个这样的图像标签,你想让它有效,那么你可以考虑使用一个虚拟的图像,如1px透明gif或png。
虽然没有有效的方法来忽略图像的源,但有一些源不会导致服务器故障。我最近有一个类似的问题与iframes和确定//:0是最好的选择。不,真的!
以//开头(省略协议)导致使用当前页面的协议,防止HTTPS页面中的“不安全内容”警告。没有必要跳过主机名,但可以使其更短。最后,端口为:0确保服务器请求不能发出(根据规范,这不是一个有效的端口)。
这是我发现的唯一一个在任何浏览器中都没有导致服务器命中或错误消息的URL。通常的选择——javascript:void(0)——如果在通过HTTPS提供服务的页面上使用,会在IE7中导致“不安全内容”警告。任何其他端口都会导致尝试服务器连接,即使是无效地址。(一些浏览器会简单地发出无效的请求并等待它们超时。)
这在Chrome, Safari 5, FF 3.6和IE 6/7/8中进行了测试,但我希望它能在任何浏览器中工作,因为它应该是网络层,可以杀死任何尝试的请求。
根据本文,使用真正空白、有效且高度兼容的SVG:
src = " +:形象/ svg xml数据;charset = utf8, 3Csvg % 20xmlns = http://www.w3.org/2000/svg’排% 3C / svg %排”
与任何SVG一样,它的默认大小为300x150px,但是您可以在img元素的默认样式中使用它,因为在实际实现中任何情况下都可能需要它。
推荐文章
- 如何关闭mysql密码验证?
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- c#消毒文件名