为什么ismap属性不尊重查询字符串?

时间:2017-11-23 11:24:42

标签: php html html5

我们说我有以下HTML:

<a href="crocodile.php?name=alex">
    <img src="alex.png" ismap>
</a>

我希望浏览器能打开像crocodile.php?name=alex&41,18这样的东西。实际上,打开的URI是crocodile.php?name=alex?41,18,据我所知,它甚至不能使它成为有效的URI。例如,在PHP中,我以值$_GET['name']的{​​{1}}结束。

这种行为背后有什么理由吗?我希望浏览器能够解析alex?41,18中现有查询字符串的地图,而不是只是无脑地附加href

在Google Chrome,Firefox和Safari上测试过。

1 个答案:

答案 0 :(得分:2)

这是一个有效的网址。这就是规范所说的应该发生的事情。 ?41,18超链接后缀,而不是新参数。见HTML 5.3 spec - The A element,步骤3.2

  

如果click事件的目标是指定了ismap属性的img元素,则必须执行服务器端图像映射处理,如下所示:

     

如果click事件是img元素上真正的指向设备触发的点击事件,那么让x为CSS像素距图像左边缘到点击位置的距离,让y为CSS像素距图像上边缘到点击位置的距离。否则,让x和y为零。

     

让超链接后缀为U + 003F QUESTION MARK字符,x的值表示为使用ASCII数字的十进制整数,U + 002C COMMA字符(,),y的值表示为基数 - 使用ASCII数字的十个整数。