【问题标题】:ImageMapster not rendering some areas in Internet Explorer onlyImageMapster 仅在 Internet Explorer 中不渲染某些区域
【发布时间】:2012-07-29 23:48:12
【问题描述】:

我正在使用 ImageMapster 在图像地图区域周围生成填充和轮廓,这给我带来了 IE 无法显示 chrome、safari、Firefox 绝对没有问题的问题。

http://sa-neighborhoodsustainability.org/map1a.php

在 IE 中打开上述链接时,有 2 个区域保持白色。 这些是与较大区域重叠的区域,并通过重复该区域和一个 nohref 标记以及与较大区域共享相同名称而被排除在外。

有人有想法吗?

谢谢

【问题讨论】:

    标签: php javascript internet-explorer imagemap imagemapster


    【解决方案1】:

    看起来这里有几件事在起作用。首先 - 当我在 IE9 中打开该链接时,它会以“怪癖”模式呈现。您的 HTML 没有 DOCTYPEHTMLBODY 标记。从技术上讲,HTML5 允许您省略 HTMLHEADBODY,尽管它仍然让像我这样的人看到这一点。但是,它不允许您省略 DOCTYPE 标记。似乎 IE9 在没有 DOCTYPE 时默认为怪癖模式,因此您应该首先添加:

    <!doctype html>
    

    这应该可以解决 IE9 的问题。

    同样的问题仍然会出现在 IE6-8 中。但是,这是由于这些浏览器在使用区域内的区域时的限制。

    有一个名为fillColorMask 的选项可让您指定用于 IE6-8 内部区域的填充颜色,因为遮罩实际上不起作用。我很抱歉,因为我刚刚意识到这并没有真正记录在案。在你的情况下,你应该设置

    fillColorMask: '8CAD5A'
    

    对于左侧区域,并且

    fillColorMask: '99BA67'
    

    对于正确的区域(这些颜色与它们已经填充的颜色相匹配,因此应该不会对它们造成任何影响)。

    【讨论】:

    • 感谢您的回答!.. 效果很好。唯一的问题是我用 php 生成了这些参数,现在较大区域的遮罩颜色与其中的较小区域不匹配,这使得 IE 映射不如在 FF 中显示时“准确”。你能想出一个简单的方法来解决它吗?这并不是什么大问题,因为实际颜色确实出现在悬停时。把它当作 IE 战胜我的理智的又一次胜利。
    • 在 IE6-8 中使用填充永远不会完全正确,因为它使用不同的技术来渲染热点。不过,它在 IE9 中看起来应该是正确的。如果您在 IE9 中按 F12,请验证“文档模式”是否显示“IE9 标准”。
    猜你喜欢
    • 2011-10-29
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多