2012-02-17 15 views
17

Vorrei stampare il contenuto di un tag di script è possibile con jquery?Ottenere contenuto nello script come testo

index.html

<script type="text/javascript"> 

    function sendRequest(uri, handler) 
    { 


    } 
</script> 

Codice

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

risultato

function sendRequest(uri, handler) 
{ 


} 

risposta

17

Basta dare il vostro tag script un ID:

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

http://jsfiddle.net/UBw44/

+3

se il tuo script fa riferimento a un src, quindi diventa complicato. è possibile effettuare una chiamata ajax al sorgente di script o utilizzare il lato server per scaricarlo prima che la pagina venga caricata. – Vigrond

7

Prova questa:

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

È possibile utilizzare nativo JavaScript per fare questo!

Ciò stamperà il contenuto del primo script nel documento:

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

Ciò stampare il contenuto dello script che ha il id => "MyScript":

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

Restituisce '" "' per '' –

+0

Penso che dovrebbe essere 'innerText' invece di' innerHtml' –

+1

@LuisVargas, No, anche questo non funziona, penso che sia perché quelle funzioni ottengono il contenuto dell'elemento tra l'apertura e la chiusura dei tag, e uno script esterno non ha contenuto lì. –

Problemi correlati