<script id="s1" src="foo.js"></script>
<script>
alert('foo.js contains' + _source_code_of('s1'))
</script>
¿Puede implementarse _source_code_of
?¿Puede JavaScript acceder al código fuente de un elemento <script src = "">?
<script id="s1" src="foo.js"></script>
<script>
alert('foo.js contains' + _source_code_of('s1'))
</script>
¿Puede implementarse _source_code_of
?¿Puede JavaScript acceder al código fuente de un elemento <script src = "">?
No, esto permitiría recuperar el contenido de cualquier URL, lo que rompería algunas políticas de seguridad. (Esto sería equivalente a una solicitud de obtención de ajax sin las verificaciones del mismo dominio.)
Sin embargo, dado que foo.js
está en el mismo dominio que la página, puede obtenerlo con una solicitud de AJAX. Ejemplo con jQuery:
$.get('foo.js', function(source_code) {
alert('foo.js contains ' + source_code);
});
No, no directamente por razones de seguridad fundamentales.
El hecho de que haya etiquetado esto con Ajax implica que está intentando usar esto como una forma de recuperar datos. Si es así, el enfoque similar más cercano es JSONP, en el que el script recién cargado invoca un método para pasar los datos de vuelta al documento principal.
"Esto sería el equivalente de una solicitud de obtención de ajax sin controles del mismo dominio". --exactamente, eso es lo que esperaba, en realidad :-) – Sixtease
Entonces, lo que necesitas es JSONP (ver [@ respuesta de leeep] (http://stackoverflow.com/questions/4862955/can-javascript-access-source- code-of-a-script-src-element/4863119 # 4863119)); pero el servidor necesita soportar esto explícitamente. – arnaud576875