【发布时间】:2012-07-01 11:17:54
【问题描述】:
html:
<img alt="test" width="100" height="100">
javascript:
alert($('img').height());
在大多数浏览器 (chrome) 上,警报显示为“100”,正如人们所期望的那样。在 Firefox 上,它没有。它“有帮助地”将 img 转换为如下所示的内容:
<div>test</div>
.. 并报告它的高度——在我的例子中是“19”。我可以通过在我检查高度之前分配一个占位符 src 来解决这个问题,这样就可以了。
我并没有真正忘记 src 属性,而是我正在客户端计算它。
我想我的问题是 - 有什么方法可以禁用这个 firefox 的“帮助”吗?
【问题讨论】:
-
如果您将
src分配给 img 标签,它将按预期工作。src标记是必需的,因此没有任何标准定义浏览器在缺少它时会做什么。 -
即使有(公认的 404)src 属性,firefox 也会报告错误的高度:jsfiddle.net/2N854/3
-
你用实际图片试过了吗?您真的关心图片链接断开时的行为吗?
-
是的,@SamDufel,这就是问题的重点。正如我在 Q 中所说:“我可以通过在我检查高度之前分配一个占位符 src 来解决这个问题,这没问题。”把它当作一个理论问题。变通方法比比皆是。我正在努力寻找最干净的解决方案——我真的很喜欢 Zoltan 的解决方案。我刚刚做了另一项测试,表明如果 FF 没有机会加载图像,它将报告正确的计算大小。只有在它注意到图像是 404 之后,它才开始“有帮助”。
标签: jquery html image height src