2012-05-07 2 views
2

Tinkerbin 또는 JSfiddle과 비슷한 것을 만들려고합니다. 개인 프로젝트 용입니다.iFrame에서 HTML, CSS 및 JAVASCRIPT를 삽입하십시오.

여기에 내가 지금 가지고있는 작업은 다음과 같습니다

http://mediodesign.ca/cms-test/

모두의 작업, 자바 스크립트 탭을 제외하고. 나는 Nettuts (http://net.tutsplus.com/tutorials/html-css-techniques/how-to-inject-custom-html-and-css)에서 "iframe에 맞춤 HTML 및 CSS를 삽입하는 방법"지침서를 따랐습니다. -into-an-iframe /).

(function() { 
$('.grid').height($(window).height());  

var contents = $('iframe').contents(), 
    body = contents.find('body'), 
    styleTag = $('<style></style>').appendTo(contents.find('head')), 
    jsTag = $('<script><\/script>').appendTo(contents.find('head')); 

$('textarea').keyup(function() { 
    var $this = $(this); 
    if ($this.attr('id') === 'html') 
    { 
    body.html($this.val()); 
    } 
    else 
    { 
    styleTag.text($this.val()), 
    jsTag.text($this.val()); 
    } 

}); }) (); 

내가 jsTag = $('<script><\/script>').appendTo(contents.find('head')); 라인과 jsTag.text($this.val());을 추가 :

여기 내 수정 된 자바 스크립트 코드입니다.

나는 그것이 jsTag = $('<script><\/script>') 부분과 관련이 있다고 확신합니다. <style></style>이 (가) 작동하지만 <script></script>이 작동하지 않는 이유는 무엇입니까?

문제를 해결하는 데 도움을주세요. 지난 2 시간 동안이 문제를 해결했습니다.

다시 한번 감사

+0

스크립트가 '

0

당신 스크립트가되지 않습니다 코드를 추가 할 때까지 평가 된 다음 jQuery가 코드를 가져 와서 구문 분석합니다. 빈 스크립트 태그를 삽입하는 것만으로는 효과가 없습니다. jQuery는 DOM에 실제로 넣지 않고 런타임에 구문 분석 만하기 때문입니다.

+0

알았어. 어떻게 작동시킬 수 있습니까? 작동하도록 특수 문자를 추가해야합니까? 아니면 뭐 그런 거니? "탈출"문자? – larin555

+0

나는 지금 쯤이면 좋은 해결책으로 생각할 수 없지만 메인 페이지 jQuery와 iFrame jQuery 사이에 터널을 만들고 iFrame 내부에 $ .globalEval을 만들어야한다고 말할 수 있습니다. 스크립트는 메인 페이지에서 iFrame 내부에서 적용되지 않지만 "eval is evil"개념을 명심하십시오. –

관련 문제