2014-09-22 4 views
0

IE에서 encodeURIComponent() 내부의 내용을 애니메이션으로 변환하려고합니다. 나는 SMIL이 IE에서 지원되지 않는다는 것을 알고 있지만 순수 JS를 사용하여 svg 태그를 움직이거나 회전시키는 것보다 훨씬 쉽습니다. 다음은 파이어 폭스와 크롬에서 작동 무언가의 예입니다,하지만 IE :encodeURIComponent 내부의 SVG 코드가 IE에서 작동하지 않습니다.

var uri = encodeURIComponent(
       '<?xml version="1.0" encoding="utf-8"?>' + 
       '<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" viewBox="0 0 120 40" xml:space="preserve">' + 
       '<script type="text/javascript" xlink:href="http://leunen.me/fakesmile/smil.user.js"/>' + 
        '<circle cx="30" cy="50" r="15" fill="blue" stroke="black" stroke-width="1">' + 
        '<animateMotion path="M 0 0 H 300 Z" dur="8s" repeatCount="indefinite" />' + 
        '</circle>' + 
       '</svg>'); 

당신은 인 XLink를 알 수 있습니다 : 나는 문제없이 애니메이션을 처리해야한다고 생각 것 FakeSmile에 HREF를, 그것은 동적이지 이후 .

http://jsfiddle.net/FG3PG/1/

때문에 jsfiddle의 끝에 약간의 메타 태그 또는 다른 HTML 코드의이 일을합니까 : 당신이 유사한 바이올린을 시도 할 경우, 당신은 때 태그 안에 IE에서 작동 볼 것인가? 또는 내가 포함 된 코드가 encodeURIComponent()에 래핑 된 것은 사실입니까? 궁극적으로 svg는 래핑 될 필요가 있거나 애니메이션 효과에 관계없이 전혀 나타나지 않습니다.

+0

FireFox 및 Chrome에서는 작동하지만 IE에서는 작동하지 않는 데모를 제공해야합니다. (당신이 제공 한 작업 데모는 단지 하위 파트 일 뿐이며 문제는 보이지 않습니다.) –

+0

왜 encodeURIComponent가 필요합니까? 데이터를 이미지 또는 배경 이미지에 넣을 수 있습니까? 당신은 자바 스크립트가 이미지에서 돌아 가지 않는다는 것을 알고 있습니까? –

+0

@RobertLongson, 예, js가 "이미지"에서는 실행되지 않지만 '

관련 문제