2011-02-16 3 views
1

* X * HTML 응용 프로그램에서 네임 스페이스에 어려움을 겪고 있습니다. AJAX를 사용하여 SVG를 다운로드해야만하고 이제는 DOM을 만들어 네임 스페이스 XHTML에 삽입해야한다.애니메이션, 스크립트 등으로 * X * HTML에 SVG-string을 삽입하는 올바른 방법

다양한 방법으로 다양한 결과를 산출합니다. 기본적으로 jQuery의 $(svgXmlString)조차 사용할 수 있지만 문제는 일반적으로 <script>이 SVG 내부에서 jQuery로 XHTML DOM에 추가 될 때 자동으로 실행되지 않는다는 것입니다. 나는이 작업을 할 수 있었지만 여전히 SVG의 <animateTransform>과 동일한 문제가 있습니다. 이 스크립트가없는 애니메이션은 시작되지 않습니다.

그래서 두 개의 네임 스페이스에서 DOM 노드를 조작하고 생성하는 올바른 방법은 무엇입니까? DOMParser? 이것이 표준의 일부입니까? iOS WebKit (DOMParser가 있음)에서 작동하려면이 기능이 필요합니다.

답변

3

XmlHttpRequest를 사용하는 경우/importNode를 채택한 다음 responseXML 문서를 (X) HTML 문서에 삽입하면됩니다.

예 : http://www.carto.net/papers/svg/network_requests/index.shtml을 참조하십시오.

+0

techinque는 분명히 좋지만 필사적으로 필요한 SVG 애니메이션 ()을 파괴합니다. – tillda

+0

삽입 후 스크립트에서 애니메이션을 시작할 수 있습니다.'yourAnimTransformElement.beginElement()'와 같은 것이 작동 할 수 있습니다. –

+0

슬프게도 iOS WebKit에서는 작동하지 않습니다. 그러나 Firefox 4.0 베타 버전에서 작동하므로 WebKit 버그처럼 보입니다. – tillda

관련 문제