XML DOM 모질라 문제입니다.
글쓴이: ctcquatre / 작성시간: 화, 2005/04/12 - 10:38오후
안녕하세요.
하루내내 이것때문에 힘들어 하다가 안돼겠다 싶어
질문드립니다. 좀 도움을 ^^;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <script> function test() { var elRoot = document.getElementById("xmlTest").XMLDocument.documentElement; document.getElementById("divTest").innerHTML = elRoot.nodeName + "<BR>" + elRoot.childNodes.item(0).nodeValue; } </script> </HEAD> <BODY > <DIV id="divTest"></DIV> <XML id="xmlTest"> <MEMBER>gfdgdfgfd</MEMBER> </XML> <script>test()</script> </BODY> </HTML>
위와 같은 문서가 있습니다.
이게 익스프롤러에서는 정상 작동합니다.
하지만 모질라계열에서는 작동하지 않습니다.
파폭 자바스크립트 콘솔을 띠워 오류를 확인해보니
var elRoot = document.getElementById("xmlTest").XMLDocument.documentElement;
이 문장에서
XMLDocument 프로퍼티가 없다고만 뜨네요.
XMLDocument 프로퍼티가 익스프롤러 전용인것 같아서
그런것같은데..
아.. 이거 어떻게 하죠. 모질라 사용하시는분들을 위해
꼭 표준에 맞게 개발해야 하는데 온통 문서들은 익스전용문서들이니. :cry:
좋은 하루되세요.
Forums:
아는 건 없지만, 글을 읽다가 궁금해져서 한번 찾아 보았습니다.참고할
아는 건 없지만, 글을 읽다가 궁금해져서 한번 찾아 보았습니다.
참고할만할 기록이 몇개 있군요.
http://www.codecomments.com/JScript/message433951-1.html
http://www.faqts.com/knowledge_base/view.phtml/aid/34022/fid/616
결론인즉 html 4.0 내에서 xml 태그를 이용한 확장은 IE5+/WIN에서만 가능하다는 것인데, (HTML 4.0에는 xml이라는 태그가 없습니다.)
인용하신 위 코드의 문제는 Sarissa(http://sarissa.sourceforge.net/)를 이용해 간단히 해결을 보았습니다.
아, 물론 sarissa를 먼저 설치해야 예제가 동작합니다 :-)
http://trash.chregu.tv/jsxml/ 여기는 Sarissa를 이해하기 좋은 간단한 예제구요.
그리고 firefox는 모르는 코드는 내용을 그냥 출력해버리기 때문에, 최종 출력은 다음과 같습니다.
IE :
FF :
이를 해결하려면 소스의 xml 태그를
처럼 바꾸어 주면 되지요.
Setzer Gabbiani
댓글 달기