2010-06-22 15 views
17

Si tengo un sitio, example.com, y una página en ese sitio hace referencia a un Javascript en el subdominio.example.com/serveAd.js - ¿hay alguna manera? desde dentro de serveAd.js para conocer su propia URL, o el dominio desde el que se descargó?Puede codificar en un archivo Javascript saber su propio dominio/URL

(JS La duda puede saber todo acerca de la página que lo llamó. Quiero saber si el JS sabe acerca de su propio origen.)

+2

editado para rfc2606 –

+1

Duplicado de: http://stackoverflow.com/questions/710957/how-might-i-get-the-script-filename-from -within-that-script – Shog9

+2

También vea http://stackoverflow.com/questions/3019112/getting-url-of-executing-javascript-file-ie6-7-problem-mostly –

Respuesta

12

Si estaba utilizando jQuery, se puede obtener la dirección URL completa con este tipo de cosas:

var fullJsUrl= $('script[src$=serveAd.js]').attr('src'); 

Si no está usando jQuery, puede tomar más trabajo, pero se entiende la idea;)

+1

Esta es una buena manera de hacerlo. –

+3

No estoy seguro de si esto se debe a los cambios en jquery desde esta pregunta, pero ahora esto solo funciona para mí con $ ('script [src $ = "serveAd.js"]'). Attr ('src'); // cita alrededor del nombre del archivo – atmd

4

Estoy bastante seguro, ya que el script se analiza que la última El nodo <script> disponible en el DOM será el analizado.

probar este en un JS externos para ver:

var scripts = document.getElementsByTagName('script'); 
var lastScript = scripts[scripts.length - 1]; 
alert(lastScript.src); 
+4

No si el archivo de script se cargó usando createElement/appendChild, entonces podría estar en cualquier parte del DOM (dependiendo de dónde lo haya agregado). – bart

Cuestiones relacionadas