HTML图像地图不适用于iOS,因为10.3
问题描述:
所以我有一个UIWebView的应用程序,基本上包含带图像映射的图像作为自定义导航的一种形式。直到iOS 10.2.x这个工作正常,但自10.3.1以来,我的用户一直在报告说,单击图像映射扇区不再工作。HTML图像地图不适用于iOS,因为10.3
我已经在应用程序中测试了这个以及iOS Safari中的HTML文件,并且似乎确实图像映射不再有效。它在Mac上仍然可以在Safari上运行,但对我来说这没用。
其他图像地图工作,例如this w3schools上的图像地图。我的怎么了?
我可以做什么改变,使图像地图再次工作?
这是我使用的图像映射的HTML:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" style="width:100%; height:100%;">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, shrink-to-fit=YES">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
</head>
<body>
<p>
<img name="triangle" src="triangle.png" usemap="#m_trianglemap" />
</p>
<map name="m_triangleMap">
<area alt="activity" title="" href="activity" shape="poly" coords="1,389,491,390,447,325,42,325"/>
<area alt="water" title="" href="water" shape="poly" coords="82,258,41,323,447,325,399,261" />
<area alt="carbs" title="" href="carbs" shape="poly" coords="122,190,80,257,398,257,352,191" />
<area alt="vegetables" title="" href="vegetables" shape="poly" coords="123,190,247,191,246,131,161,129" />
<area alt="fruit" title="" href="fruit" shape="poly" coords="249,191,355,192,317,131,247,131" />
<area alt="dairy" title="" href="dairy" shape="poly" coords="160,127,243,129,242,65,199,66" />
<area alt="meat" title="" href="meat" shape="poly" coords="245,130,315,131,271,64,244,65" />
<area alt="fat" title="" href="fat" shape="poly" coords="217,39,201,64,273,65,258,41" />
<area alt="rest" title="" href="rest" shape="poly" coords="237,3,220,31,254,31" />
<area alt="general" title="" href="general" shape="poly" coords="156,25,55,25,55,120,151,120" />
</map>
</body>
</html>
答
所以我想通了,什么是错的我的图像映射代码。
如果您查看原始文章中包含的代码,您会看到我的usemap为#m_trianglemap
,而地图名称为m_triangleMap
,基本上只是不同的套管。在10.3.1之前的所有其他浏览器和Safari iOS上,usemap不区分大小写。现在它是区分大小写的。一旦我改变了usemap的值来匹配大小写中的名字,它就再次开始工作。
我能想到的唯一选择是html5的[canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)。 – Pyromonk