2012-02-17 14 views
17

Chciałbym wydrukować zawartość znacznika skryptu, który jest możliwy z jquery?Pobierz zawartość skryptu jako tekst

index.html

<script type="text/javascript"> 

    function sendRequest(uri, handler) 
    { 


    } 
</script> 

Kod

alert($("script")[0].???); 

wynik

function sendRequest(uri, handler) 
{ 


} 

Odpowiedz

17

Dajcie tagu script id:

<div></div> 
<script id='script' type='text/javascript'> 
    $('div').html($('#script').html()); 
</script> 
​ 

http://jsfiddle.net/UBw44/

+3

if Twój skrypt odwołuje się do src, a potem staje się trudny. możesz wykonać wywołanie ajax, a następnie użyć źródła skryptu lub użyć strony serwera, aby uzyskać je przed załadowaniem strony. – Vigrond

7

Spróbuj tego:

console.log(($("script")[0]).innerHTML); 
13

Można użyć natywną Javascript, aby to zrobić!

To będzie drukować zawartość pierwszego skryptu w dokumencie:

alert(document.getElementsByTagName("script")[0].innerHTML); 

To będzie wydrukować zawartość skryptu, który ma id => "myscript":

alert(document.getElementById("myscript").innerHTML); 
+9

Zwróci '" "' dla '' –

+0

Myślę, że powinno to być 'innerText' zamiast' innerHtml' –

+1

@LuisVargas, Nie, to też nie działa, myślę, że dzieje się tak dlatego, że te funkcje pobierają zawartość elementu między otwieraniem i zamykaniem znaczników, a zewnętrzny skrypt nie zawiera tam treści. –