Rails:image_tag和usemap在Firefox上玩得不好

时间:2012-06-16 21:54:22

标签: html ruby-on-rails firefox imagemap

我正在使用以下代码加载图片和相关的图片地图:

<span><%= image_tag bookcase.image_url.to_s, :usemap => "#shelfmap" %></span>
<map name="#shelfmap">
  <area shape="rect" coords="0,0,500,100" href="\" alt="test" />
</map>

图片地图会在Google Chrome中加载,但由于某种原因,它不会在Firefox中显示。我检查了源代码,图像的usemap参数设置为“#shelfmap”。我不确定还有什么问题。

1 个答案:

答案 0 :(得分:2)

来自fine specification

  

usemap =哈希名称引用
  对映射元素的哈希名称引用,用于关联图像。

什么是哈希名称引用?好吧,hash-name reference是:

  

type 类型元素的有效哈希名称引用是以“#”字符开头的字符串,后跟一个与{的值完全匹配的字符串{1}}文档中任何位置 type 元素的属性。

这意味着如果你有name,那么你应该有一个<img usemap="#x">元素来定义图像映射;请注意<map name="x">属性不包含哈希值。所以你的name应该是这样的:

<map>

Chrome通过忽略您的错误(<map name="shelfmap"> <area shape="rect" coords="0,0,500,100" href="\" alt="test" /> </map> 属性中的#)很不错,Firefox很强大,因为它强迫您遵守规范,而不是试图猜测您的意思。 / p>