2009-04-25 28 views
8

¿Es posible obtener la URL real (a diferencia del valor de atributo src) de una imagen dentro del DOM actual usando jQuery o JavaScript?¿Cómo obtener una img url usando jQuery?

es decir, recuperar "example.com/foo.jpg" en lugar de "foo.jpg" (teniendo en cuenta los elementos <base>)

¿Qué pasa con las otras propiedades interesantes tales como el tipo MIME, tamaño de archivo o, lo mejor de todo, ¿los datos binarios reales?

+2

"URL real"? ¿Que es eso? – eKek0

+2

http://example.com/foo.jpg en lugar de "foo.jpg" (tomando elementos en cuenta) – Quentin

Respuesta

16

me pregunto si está utilizando jQuery .getAttribute() - usando .src siempre parece dar la URL absoluta:

<img src="foo.jpg" id="i"> 

<script> 
var img = document.getElementById('i'); 

alert(img.getAttribute('src')); // foo.jpg 
alert(img.src);     // http://..../foo.jpg 
</script> 

Para obtener el resto de la información, se puede utilizar una petición AJAX y mirar la cabecera & datos enviados?

+6

Para hacer esto con un selector de Jquery use: $ (selector) .get (0) .src; –

+0

Buena idea Greg, aplausos. En cuanto al resto, esperaba poder hacer algo sin viajes de ida y vuelta adicionales de AJAX, dado que ya debería estar cargado, y también sería bueno evitar cualquier problema de AJAX entre sitios. – stovroz

+1

@Pim, o $ (selector) [0] – James

7

$ (usted selector IMG) .attr ('src');

por ejemplo, si tenemos un <img src='bla-bla.jpg' id='my_img'>

entonces vamos a hacer:

$('#my_img').attr('src'); 
2

sencilla

$("#my_img").src; 

solo se resuelve el problema

0
var img = $('img'); 
alert(img.attr('src')); // foo.jpg 
var fullpath = window.location.host + img.attr('src'); 
alert(fullpath); // http://example.com/foo.jpg 
+0

¿Cómo es útil? ¿Qué estás haciendo ahí? Explique para que las personas aprendan algo, su respuesta no es muy clara para los principiantes. – Randy

Cuestiones relacionadas