我继承了(不是在OO意义上)世界地图,它使用地图和区域标签在地图区域被鼠标悬停或点击时执行操作。它在我们测试过的所有其他浏览器中运行良好(Chrome,Firefox,IE7);但是,IE8(我们支持的主要浏览器)无法正常运行。
某些领域完全按照预期工作,但其他领域根本没有回应。
为了澄清,地图主要是html(地图和区域标签)和图片,还有一些JavaScript。
以下是一些示例标记:
<area shape="poly" id="A64" class="{linked:3,fillColor:'fff553'}" title="East Asia and the Pacific" href="#" onclick="return InitiateAsyncRequest('EastAsiaPacific');" coords="500,168,501,168,502,168,502,169,503,169,503,170,504,170,504,171,504,172,504,173,503,173,503,174,502,174,502,175,501,175,500,175,499,175,499,174,500,174,500,173,501,173,502,173,502,172,503,172,503,171,502,171,502,170,501,170,501,169,500,169" />
我期待更换地图;但是,对于此版本,这不是一个选项。提前感谢您的帮助。
答案 0 :(得分:3)
当其他一切都很好的时候,我只是在IE上没有使用<map>
时遇到了一个神秘的问题。我的解决方案是确保在usemap='#A64'
<img>
属性
答案 1 :(得分:1)
我在IE8中遇到了同样的问题。就我而言,解决方案是将所有坐标放在一行上。 当坐标分隔多行时,所有浏览器都正确使用了地图,IE8除外。重新格式化文件以使所有协调的文件位于同一行后,IE8中的地图也显示正确。
答案 2 :(得分:0)
从描述中,我会说<map>
/ <area>
标签听起来像是红鲱鱼。如果其中一些是有效的,那么别人不应该做的就没有明显的理由。
我认为更有可能是您的Javascript代码中的错误。在这种情况下,你的一些链接会起作用而其他链接不起作用,因为它们会破坏一些破坏的JS。
IE通常比Firefox或Chrome更挑剔Javascript错误(同时它对错误报告的帮助不大!),所以这似乎是一个明显的探究途径。
尝试更改破坏的JS,以便它们与其中一个有效。破碎的那个现在是否正常工作(虽然作为错误的地图位置)?如果可以,那么您的<area>
代码就没有错;它必须在Javascript中。
如果IE没有报告JS错误,那么你将不得不通过一行一行地调试代码直到找到错误的方式来找到错误的方法。
由于您使用的是IE8,因此您可以使用开发人员工具,因此请确保已打开,并在代码的每一行之前添加console.log()
次调用。运行代码并查看console.log()
消息停止的位置。
希望有所帮助。
(尽管如此,你有没有尝试减少多边形中的点数?也许IE有限制?我对此表示怀疑,但如果没有其他工作则值得尝试)