2012-05-21 3 views
1

Firefox에서 서버가 브라우저에 순수 SVG 문서를 발행하고 onload = 이벤트가 첨부 된 SVG 요소가 나오기 전에 Javascript 스크립트 요소가 발행되면 이전 SVG 요소가로드 된 것을 확인할 수 있습니다 다음. 따라서 스크립트는 DOM에 있다고 가정 할 수 있으며 스크립트가 액세스하려고 할 때 액세스 할 수 있습니다.IE9가 SVG dom을 문서 순서로로드합니까?

그러나 IE9에서는 DOM 요소가로드되는 방식에 대한 보장이나 순서가없는 것처럼 보입니다.

순수 SVG 문서 (DOCTYPE html5 또는 메타 xua 태그 없음)를 강제로 IE9에서 문서 순서로로드하는 방법이 있습니까?

그렇지 않으면 요소가 DOM에로드되었음을 보증하기 위해 Javascript에서 많은 원숭이 비즈니스를해야합니다.

답변

2

요소를 문서 순서로로드해야하는 SVG 또는 DOM 사양에서 찾을 수 없습니다 (해당 순서로만 그려져 있음). 요구 사항이 아니라면 예상 한 동작을 보장 할 수 없습니다. 나는 결국 당신이 그 "원숭이 사업"에 의지 할 필요가있을 것이라고 생각합니다.

하나의 가능성은 호출 요소에서 대상 요소의 하위 항목에 대한 링크 인 하위 요소를 추가하는 것입니다. 그 링크가로드 될 때까지 원본 요소의로드 이벤트를 지연합니다.

컨테이너 요소에 externalResourcesRequired="true"을 설정하면 외부 리소스를 참조하는 요소가 포함 된 컨테이너의 내용을 점진적으로 표시하지 않도록 설정하는 효과가 있습니다. 즉, 다른 문서에 링크하고 해당 속성을 설정하면로드 이벤트가 발생했을 때 전체 DOM을 강제 실행할 수있는 SVG의 스트리밍 동작을 비활성화 할 수 있습니다.

+0

저는 오늘 이것을 시도하고 알려 드리겠습니다. 감사합니다. Mr. – Dave

+0

externalResourcesRequired = "true"접근에 대한 기쁨이 없습니다. 다른 제안을 확인하는 작업 – Dave

관련 문제