2012-04-26 4 views
2

외부 이미지의 (너비 및 높이)을 얻는 방법을 찾고 있습니다.
prop()attr()을 사용했지만 값을 반환하지 않습니다. 그냥 오류.jQuery : 외부 이미지의 크기를 얻는 방법?

예 :

<a href="pathtotheimage">some link</a> 
+2

유일한 방법은 이미지를로드하는 것입니다. (JavaScript를 사용하는 경우) –

+0

아, 이미지가로드되지 않으면 크기를 가져올 수 없습니다. 감사합니다. – user759235

답변

9
var imgSrc = "http://server.com/your/image/path/here.jpg" 
var _width, _height; 
$("<img/>").attr("src", imgSrc).load(function() { 
    _width = this.width; 
    _height = this.height; 
}); 
+1

브라우저 캐시에서 이미지를 가져 오면'.load' 이벤트가 발생하지 않습니다. 해결책은 [이 질문 (http://stackoverflow.com/q/3877027/901048)을 참조하십시오. – Blazemonger

-1

이 기술적으로 jQuery를하지 않습니다하지만 난의 경로를 아래로 갈 것이다 : widthheight를 사용하여 그런 다음 그 값에 액세스 할 수 있습니다

var image = new Image(), width, height; 
image.src = 'http://whereyourimage.is/heresmyimage.jpg'; 
width = image.width; 
height = image.height; 

을 예 : alert('My image is ' + width + ' pixels accross.');

+2

브라우저가 올바른 정보를 줄 수 없도록 src를 설정하는 동시에 너비에 액세스하기 때문에 이것은 작동하지 않습니다. – Esailija

+0

나를 위해 일했지만 그 이미지가 캐싱되었다는 것을 깨달았습니다! 바보! 컴퓨터에서 돌아올 때 답변을 수정합니다. – freshnode

1

아무도 바닐라 js 응답을 제공하지 않은 것처럼 보입니다. 여기

var img = document.createElement('img') 
img.src = 'http://domain.com/img.png' 
img.onload = function() { 
    console.log(this.width) 
    console.log(this.height) 
} 

는 jsfiddle입니다 : http://jsfiddle.net/Ralt/VMfVZ/

관련 문제