代码之家  ›  专栏  ›  技术社区  ›  cwap

JQuery Hilight插件有其他选择吗?

  •  5
  • cwap  · 技术社区  · 17 年前

    当我发现 Hilight 我差点从椅子上摔下来。这正是我需要的:)

    demo 在IE8中似乎不起作用。是否有任何修复或替代方案?

    1 回复  |  直到 17 年前
        1
  •  12
  •   SolutionYogi Eric Lippert    17 年前

    我通过maphilight源代码进行调试,发现IE8在为新创建的样式表添加规则时出现阻塞。当我在谷歌上搜索这个问题时,我发现了一个 bug report on OpenLayer's track

    这是你需要做的。打开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插件中调试了这个问题。