2009-04-25 20 views
8

Ist es möglich, die tatsächliche URL (im Gegensatz zum src Attributwert) eines Bildes im aktuellen DOM mit jQuery oder JavaScript zu erhalten?Wie bekomme ich eine URL mit jQuery?

dh abrufen „example.com/foo.jpg“ im Gegensatz zu „foo.jpg“ (unter <base> Elemente berücksichtigt)

Was weitere interessante Eigenschaften, wie der Mime-Typ, Dateigröße oder, das Beste von allem, die tatsächlichen binären Daten?

+2

"tatsächliche URL"? Was ist das? – eKek0

+2

http://example.com/foo.jpg im Gegensatz zu "foo.jpg" (unter Berücksichtigung von Elementen) – Quentin

Antwort

16

Ich frage mich, ob jQuery .getAttribute() verwendet - mit .src scheint immer die absolute URL zu geben:

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

Um den Rest der Informationen zu erhalten, können Sie einen AJAX-Request nutzen und dir den Kopf & Daten gesendet?

+6

Um dies mit einem Jquery-Selektor zu tun, verwenden Sie: $ (selector) .get (0) .src; –

+0

Gutes Denken Greg, Prost. Im Übrigen hatte ich gehofft, dass ich etwas ohne zusätzliche AJAX-Rundreisen tun könnte, da es bereits geladen sein sollte, und die Vermeidung von Cross-Site-AJAX-Problemen wäre auch gut. – stovroz

+1

@Pim oder $ (selector) [0] – James

7

$ (Sie IMG-Selektor) .attr ('src');

zum Beispiel, wenn wir einen <img src='bla-bla.jpg' id='my_img'>

haben, dann werden wir tun:

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

einfach

$("#my_img").src; 

es nur lösen das Problem

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

Wie ist das hilfreich? Was machst du da? Bitte erklären Sie, damit die Leute etwas lernen können, Ihre Antwort ist für Anfänger nicht sehr klar. – Randy

Verwandte Themen