2010-01-15 4 views
4

<script>...</script>을 포함하는 일부 html을 첨부하기 위해 프로토 타입 삽입 함수를 사용하고 있습니다. 이 스크립트에서는 새로운 함수를 정의합니다. 그리고 here을 읽으면 Prototype은 <script> 태그 안에있는 스크립트를 실행 한 다음 제거하지만 모든 기능에 액세스 할 수 있어야합니다. 그러나 그 순간부터 나는 새로운 기능을 실행할 수 없습니다.<script>을 프로토 타입과 함께 삽입하는 방법은 무엇입니까?

$('some_id').insert({ bottom: '<script> ... </script>' }); 

어떻게 해결할 수 있습니까? 최상의 것은 <script> 태그를 제거하지 않는다는 것입니다.

편집 : 지금, 나는 다음과 같이했다함으로써

:이 기능은 당신이 그것을 통과 어떤 내용으로, 페이지의 머리에 스크립트 태그를 추가합니다

var add_here = document.getElementById('prepayment_group_items'); 
var src = document.createElement('div'); 
src.innerHTML = 'a lot of html with script tags'; 
add_here.appendChild(src); 
+0

예제에서 실행하려고하는 스크립트를 포함 할 수 있습니다. 또한, 추가 시도 할 수 있습니다 : type = "text/javascript"를 스크립트 요소에 합니다. – cjstehno

+0

스크립트에는 function update_38172() {...}가 포함되어 있습니다. 이 번호는 Rails에서 생성됩니다. 이 함수는이 스크립트에 추가 할 때 작동합니다. update_38172(); 그것은 한 번만 실행됩니다. 삽입이 완료되면'

0

, 당신은 같은 것을 할 수 있습니다

$$('head').first().insert({ 
    bottom: new Element('script', { 
     type: 'text/javascript' 
    }).update('function helloWorldToConsole(){console.log("Hello World!")}') 
}); 

이 새로운 SCRIPT 태그를 생성하고 머리의 맨 아래에 삽입합니다. 그러나 다음과 같은 외부 JavaScript 파일을 추가하면 훨씬 좋을 것입니다 :

$$('head').first().insert({ 
    bottom: new Element('script', { 
     type: 'text/javascript', 
     src: 'http://www.example.com/path/file.js' 
    }) 
}); 

나중에 스크립트에서 함수를 사용할 수 있습니다.

-1

이 시도 ..

$('<script></script>',{ 
    type:'custom', 
    id:'script1' 
    }).appendTo('head').attr('type','text/javascript'); 

    $('#script1').append(< add js code here >); 

});