当我找到Hilight时,我差点从椅子上摔下来。这正是我需要的:)
现在,可悲的是,该演示似乎无法在 IE8 中运行。是否有任何修复或替代方案?
我通过 maphilight 源代码进行调试,发现 IE8 在为新创建的样式表添加规则时会阻塞。当我在谷歌上搜索这个特定问题时,我发现了一个关于 OpenLayer's track 的错误报告。错误报告有一个补丁,我在 maphilight 插件上使用了这个补丁来修复它。
这是你需要做的。打开 jquery.maphilight.js(未压缩的源代码)并转到第 63 行,您将看到如下内容:
document.createStyleSheet().addRule("v\\:*", "behavior: url(#default#VML); antialias: true;"); //IE8 chokes on this line.
document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
将以上内容替换为以下内容:
document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
var style = document.createStyleSheet();
var shapes = ['shape','rect', 'oval', 'circ', 'fill', 'stroke', 'imagedata', 'group','textbox'];
$.each(shapes,
function()
{
style.addRule('v\\:' + this, "behavior: url(#default#VML); antialias:true");
}
);
它现在应该可以在 IE8 中运行。这是证据,看看怀俄明州是如何突出显示的。
我不确定这是否适用于 IE6 和 IE7。你必须自己测试它。如果这在 IE6 和 IE7 中中断,则只有在浏览器为 IE8 时才需要放置此补丁。
再次将上述补丁归功于原作者。我只在 maphilight 插件中调试了这个问题。