2009-04-25 6 views
8

Est-il possible d'obtenir l'URL réelle (par opposition à la valeur d'attribut src) d'une image dans le DOM actuel en utilisant jQuery ou JavaScript?Comment obtenir une URL img en utilisant jQuery?

récupérer-à-dire « example.com/foo.jpg » par opposition à « foo.jpg » (en prenant en compte les éléments <base>)

Qu'en est-il d'autres propriétés intéressantes telles que le type MIME, la taille du fichier ou, le meilleur de tous, les données binaires réelles?

+2

"URL actuelle"? Qu'est-ce que c'est? – eKek0

+2

http://example.com/foo.jpg par opposition à «foo.jpg» (en tenant compte des éléments ) – Quentin

Répondre

16

Je me demande si jQuery utilise .getAttribute() - en utilisant .src semble toujours donner l'URL absolue:

<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> 

Pour obtenir le reste des informations, vous pouvez utiliser une requête AJAX et de regarder l'en-tête & données envoyées?

+6

Pour ce faire, utilisez un sélecteur Jquery: $ (selector) .get (0) .src; –

+0

Bonne pensée Greg, vive. Pour le reste, j'espérais pouvoir faire quelque chose sans aller en AJAX, étant donné que ça devrait déjà être chargé, et éviter les problèmes AJAX inter-sites serait bien aussi. – stovroz

+1

@Pim, ou $ (sélecteur) [0] – James

7

$ (sélecteur IMG) .attr ('src');

par exemple, si nous avons un <img src='bla-bla.jpg' id='my_img'>

nous allons faire:

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

simples

$("#my_img").src; 

juste résoudre le problème

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

Comment est-ce utile? Que faites vous ici? S'il vous plaît expliquer si les gens pourraient apprendre quelque chose, votre réponse n'est pas très claire pour les débutants. – Randy

Questions connexes