증상: 요소의 innerHTML 값을 설정할 때 제공된 HTML 코드에 js 스크립트가 포함되어 있으면 이러한 스크립트가 유효하지 않거나 일부 브라우저에서는 유효하지만 다른 브라우저에서는 유효하지 않은 경우가 많습니다.
원인: 브라우저마다 innerHTML에 삽입된 스크립트를 처리하는 방법이 다릅니다. 연습해 보면 다음과 같이 요약할 수 있습니다.
IE의 경우 우선 script 태그에 defer 속성이 있어야 하고, 두 번째로 삽입 시 innerHTML이 속한 노드가 DOM 트리에 있어야 합니다.
Firefox 및 Opera의 경우 innerHTML이 속한 노드는 삽입 시 DOM 트리에 있을 수 없습니다.
위의 결론을 바탕으로 일반적인 설정 innerHTML 메소드가 제공됩니다.