0

我正在使用以下代码加载图像和关联的图像映射:

<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”。我不确定还有什么问题。

4

1 回答 1

2

精细规范

usemap = hash-name reference
对与图像相关联的映射元素的哈希名称引用。

什么是哈希名称参考?好吧,哈希名称引用是:

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

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

<map name="shelfmap">
  <area shape="rect" coords="0,0,500,100" href="\" alt="test" />
</map>

Chrome 很好地忽略了你的错误(属性#中的name),Firefox 很好地强迫你遵守规范而不是试图猜测你的意思。

于 2012-06-16T22:08:14.430 回答