Obtenir du contenu à l'intérieur de script en tant que texte
Je voudrais imprimer le contenu d'une balise de script, est-ce possible avec jquery?
index.html
<script type="text/javascript">
function sendRequest(uri, handler)
{
}
</script>
Code
alert($("script")[0].???);
résultat
function sendRequest(uri, handler)
{
}
Vous devez vous connecter pour publier un commentaire.
Il suffit de donner votre balise de script un id:
http://jsfiddle.net/UBw44/
Vous pouvez utiliser Javascript natif pour ce faire!
Cela permettra d'imprimer le contenu de la première script dans le document:
Cela permettra d'imprimer le contenu du script qui a l'id => "myscript":
""
pour<script type="text/javascript" src="path/path/file.js"></script>
innerText
au lieu deinnerHtml
Essayez ceci:
L'impression de script interne:
JS:
HTML:
L'impression de script externe à l'aide de XHR (AJAX):
JS:
*OBSOLÈTE*: Sans XHR (AKA Ajax)
Si vous souhaitez imprimer le contenu d'un externe script (fichier doit résider sur le même domaine), il est alors possible d'utiliser un
<link>
étiquette avec leattribut, puis placez le script de la source dans le
href
attribut. Voici un exemple de ce site:C'est encore expérimental de la technologie, une partie de web-composants. lire plus sur MDN
Vous pouvez utiliser le document.getElementsByTagName("script") pour obtenir une HTMLCollection avec tous les scripts, puis de le parcourir pour obtenir le texte de chaque script. Évidemment, vous pouvez obtenir le texte seulement pour javascript. Pour le script externe (src=) vous devez utiliser un appel ajax pour obtenir le texte.
À l'aide de jQuery quelque chose comme ceci:
La bonne façon d'obtenir l'accès au script courant est
document.scripts
(qui est tableau commeHTMLCollection
), le dernier élément est toujours en cours de script parce qu'ils sont traités et ajoutés à la liste dans l'ordre de l'analyse et de l'exécution.JS:
Le seul inconvénient est que vous ne pouvez pas utiliser setTimeout ou gestionnaire d'événement qui va retarder l'exécution de code (parce que la prochaine script en html peut être analysé et ajouté lors de votre code s'exécute).