2013-02-27 4 views
3

이 코드는 Firefox에서 훌륭하게 작동하지만 IE에서는 보이지 않습니다. SVGWeb (http://svgweb.googlecode.com/svn/trunk/docs/UserManual.html)의 설명서를 읽었지만 해결책을 찾지 못했습니다. 어떤 생각?SVGweb을 사용하여 Internet Explorer의 SVG에 수신기를 추가 할 수 없습니다.

window.onsvgload = function() { 
    carga(); 
var mySVG = document.getElementById("mySVGObject").contentDocument; 
     mySVG.addEventListener('click', function(evt) { 
       alert(evt.target.id); 
    }, false); 

}

임은 문제없이 IE에서이 같은 것들을 사용 :

mySVG.getElementById('Color2').style.fill='#00cc00' 

을 나는 모양에 색상과 텍스트를 변경할 수 코드. 하지만 나는 IE에서 리스너를 작동시킬 수 없다.

편집 : Chrome, FF 및 IE9에서 작동합니다. IE7에서 작동해야합니다. "온로드를 발사하는 동안 오류 : 지원되지 않음"라인에 : 여기

mySVG.addEventListener('click', function(evt) { 
       alert(evt.target.id); 
    }, false); 

당신이 예를 볼 수 이것은 내가

<div style="text-align:center" id="mapaSvg" > 
<!--[if !IE]>--> 
<object data="ca.svg" type="image/svg+xml" 
     width="700" height="800" id="mySVGObject" > <!--<![endif]--> 
<!--[if lt IE 9]> 
<object src="ca.svg" classid="image/svg+xml" 
     width="700" height="800" id="mySVGObject" > <![endif]--> 
<!--[if gte IE 9]> 
<object data="ca.svg" type="image/svg+xml" 
     width="700" height="800" id="mySVGObject" > <![endif]--> 
</object> 
</div> 
<div style="text-align:center"> 

는 IE 개발 도구가 오류를 보여 SVG 개체를로드하는 방법입니다 IE, FF, 동적 라인 위의 마우스에서의 SVGWEB 작업 : https://www.destatis.de/bevoelkerungspyramide/

감사합니다.

+0

당신은 추가 할 수 있습니다 투명한 div 오버레이를 만들고 마우스 이벤트를 코드에 디스패치합니다. – Matthias

+0

나는 당신이 말하는 것을 이해하지만, 문서에서 SVGWEB는 IE에서 사용할 수있는 리스너를 추가 할 수 있다고 말했습니다. 이것들은 맵이고 많은 것이 있고 다른 모양/지역/등을 가지고 있습니다. div 오버레이는 이것을위한 해결책이 아닙니다. 감사! – Alejandro

+0

다음과 같이 시도해 보셨습니까? – Matthias

답변

0

시도 :

window.addEventListener('SVGLoad', function() { 
    // all SVG loaded and rendered 
}, false) 

이 구조는 동일하지만 오류 때문에이 가정합니다 "오류를 온로드를 발사하면서 : 지원되지 않음"

+0

좋은 생각 이었어, 고마워! 하지만 같은 줄에 같은 오류가 있습니다. – Alejandro

+0

흠 ... 재미 있어요. 어쩌면 당신은'jQuery'를 사용하고 있을까요? 호환성 문제가있는 것처럼 보입니다. https://bitbucket.org/thomaswaldmann/moin-2.0/issue/265/svgweb-fails-on-ie7-and-ie8 – XiM

+0

아니고, SVGWEB 및 AMCHARTS (사용 중지됨 amcharts without results) 감사합니다 – Alejandro

0

도움이 될지 모르겠지만 IE8과 IE7을 제외한 모든 브라우저에서 동일한 문제가 발생했습니다. 이 문제는 svg에 <image></image> 대신 자체 닫는 이미지 요소 <image/>을 사용하면 발생합니다. 대신에이 블록 안에 onsvgloadaddEventListener를 호출

+0

감사합니다. @Hoppy하지만 이번 경우는 그렇지 않습니다. – Alejandro