2011-12-13 6 views
1

요소 innerHTML 특성을 스크립트 요소가 포함 된 문자열로 설정하면 IE에서 이상한 문제가 발생합니다. 스크립트 요소가 완전히 제거 된 것처럼 경고 상자, 텍스트를 표시하지 않습니다요소의 innerHTML 특성을 설정하여 스크립트 요소를 포함 할 때 IE에 이상한 문제가 발생했습니다.

domEl.innerHTML = "<script type=\"text/javascript\">alert(\"hello world\");</script>" 
alert(domEl.innerHTML); 

: innerHTML을이 같이 설정하면 어떻게됩니까

이다.

domEl.innerHTML = "start text<script type=\"text/javascript\">alert(\"hello world\");</script>" 
alert(domEl.innerHTML); 

스크립트 요소 : 또한, 또한 요소의 childNodes에 모음을 확인하면 스크립트 태그과 같이 이전에 텍스트를 추가하는 경우 스크립트 요소는, 그러나 존재하지 0 = domEl.childNodes.length

것을 보여준다 경고 상자가 표시되면 나타납니다.

왜 이런 일이 발생하며 어떻게 제대로 해결할 수 있습니까? 이것은 IE의 버그입니까? 크롬과 파이어 폭스의 최신 버전에서 잘 작동합니다. IE 8을 사용하고 있습니다.

답변

0

은 버그 또는 IE의 이상한 보안 고려 사항처럼 보입니다. 텍스트 주위에서 XMP 태그를 사용해보세요. 그것은 효과가 있을지 모르지만, 그것은 당신이 성취하고자하는 것에 달려 있습니다.

+0

는 이제 스크립트 태그 앞에 XMP 태그를 추가 한 모든는 다음과 같이 그 일을하지만, 잘 진행되는 내가 이런 식으로 뭔가를 해결하는 올바른 방법이 아니다 알고 나와 함께 쉽게 앉아 있지 않지만 보인다 다시 한번 그것이 지금의 유일한 길처럼 보입니다. 감사! – user1092719