[js] ]innerHTML로 <script> 넣기
obj.innertHTML = "<font size=2>가나다<\/font>";
와 같이 잘 사용을 하지만
obj.innertHTML = "<script>var a='가나다';<\/script>";
와 같은 script tag 는 무시된다.
이런경우,
1.
obj.innerHTML="<scr"+"ipt>var a='가나다';<\/scr"+"ipt>";
와 같이 script 문자를 떼어내어 사용한다.
혹은
2.
document.write("<script>var a='가나다';<\/script>");
를 시도한다.
혹은
3.
insertAdjacentHTML을 사용하여 SCRIPT tag에 DEFER 옵션을 시도한다.
Remarks
If the text contains HTML tags, the method parses and formats the text as it is inserted.
You cannot insert text while the document is loading. Wait for the onload event to fire before attempting to call this method.
When using the insertAdjacentHTML method to insert script, you must include the DEFER attribute in the scriptelement.
Example
This example uses the insertAdjacentHTML method to insert script into the page.
var sHTML="<input type=button onclick=" + "go2()" + " value='Click Me'><BR>";
var sScript='<SCRIPT DEFER>';
sScript = sScript + 'function go2(){ alert("Hello from inserted script.") }';
sScript = sScript + '</script' + '>';
ScriptDiv.insertAdjacentHTML("afterBegin",sHTML + sScript);[출처] [JS]innerHTML로 <script> 넣기|작성자 사원3284
'Web > javascript / jQuery' 카테고리의 다른 글
[Troble shooting] Uncaught ReferenceError (2) | 2015.04.16 |
---|---|
자바스크립트 즉시 실행 함수의 불편한 진실 (4) | 2015.04.16 |
[js] 정규식 표현법 (2) | 2015.04.16 |
[jQuery] SlickGrid 에서 각 행을 루프돌면서 상태에 따른 색상 세팅하기 (2) | 2015.04.13 |
TypeError: 'undefined' is not a function (evaluating '$(document)') (130) | 2015.04.13 |