2014-01-10 1 views
0

스크립트 태그가있는 요소를 만든 다음 innerHTML을 변경하는 스크립트를 페이지에 추가하려고합니다. Chrome 및 IE11에서는 작동하지만 IE8에서는 작동하지 않습니다.스크립트 요소의 innerHTML이 IE8에서 작동하지 않습니다.

innerHTML을 바꿀 때 레이블처럼 보입니다.

var contentScript = document.createElement("script"); 
contentScript.setAttribute("id", "contentSCRIPT"); 
contentScript.innerHTML = "alert('test');"; 
document.getElementById("main").appendChild(contentScript); 

@Scott Mermelstein이 나를 돕기 위해이 피들을 만들었습니다. http://jsfiddle.net/BjbAd/

누구나 IE8에서 작동시키는 방법을 알고 있습니까? 몇 가지 작업을 수행 한 후에 페이지에서 스크립트를 제거해야하기 때문에 contentSCRIPT 요소를 만들어야한다는 것을 명심하십시오.

답변

1

innerHTML이 스크립트 태그에 사용되지 않기를 바랍니다.

var contentScript = document.createElement("script"); 
contentScript.setAttribute("id", "contentSCRIPT"); 
contentScript.text = "alert('test');"; 
document.getElementById("main").appendChild(contentScript); 
+0

하지만 IE10 +, 크롬, 파이어 폭스에서 작동합니까 ... –

+0

나는 IE10이없는 있지만, FF, 크롬, IE8-9 모든 작업 벌금을 시도했습니다. 나는'textContent'를 사용할 필요가 있다고 생각했지만'text'는 효과가있는 것 같습니다. 때로는 브라우저의 제약으로 브라우저를 다루거나 가야하는 경우가 있습니다 ... –

+0

조언 주셔서 감사합니다! –

관련 문제