我们说我有以下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上测试过。
答案 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数字的十个整数。