2009-07-23 4 views

답변

12

maphilight 소스 코드를 통해 디버깅했으며 새로 작성한 스타일 시트에 대한 규칙을 추가하는 동안 IE8가 중단되는 것을 발견했습니다. 이 특정 문제에 대해 Google에서 검색했을 때 bug report on OpenLayer's track을 찾았습니다. 버그 리포트에는 패치가 있었고이 패치를 maphilight plugin에 사용하여 수정했습니다.

다음은 수행해야 할 작업입니다. 열기 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 plugin에서만 문제를 디버깅했습니다.

+0

안녕하십니까. IE6/7에서 테스트 해보고 작동하는지 알려주세요. 그렇다면, 아마 플러그인 작성자에게 패치를 제출할 것입니다. – SolutionYogi

+0

FF로하는 IE (6,7,8)에 "페이딩"효과를주지 않는다는 것을 제외하고는 아주 잘 작동하는 것 같습니다. 수정 주셔서 감사합니다 :) – cwap

+1

위대한! 나는 저자에게 패치를 제출할 것이다. – SolutionYogi

관련 문제