!!! IE 6.0밖에 안되는 듯?!!!!
아마도 아래의 FF문제와 같이 locally loaded image에 대해서는 IE6.0밖에 안되는 듯
일단 firefox에서는 image.onload가 업로드 하려는 파일, 즉 locally loaded image에 대해서는 작동하지 않는다
(참고:
http://www.tek-tips.com/viewthread.cfm?qid=1452885&page=5)
대신에 image.src="http://www.tek-tips.com/images/logo.gif" 와 같이 어딘가의 서버상에 올려져 있는 파일에 대해서는 작동한다.
function LoadImg(value)
{
var imgInfo = new Image();
imgInfo.onload = img_Load;
imgInfo.onerror = function() {
// always called
alert('error');
};
// imgInfo.src = "http://www.tek-tips.com/images/logo.gif"; // 이렇게 하면 firefox에서도 동작함
imgInfo.src = value;
}
function img_Load()
{
var imgSrc, imgWidth, imgHeight, imgFileSize;
var maxFileSize;
maxFileSize = 5000000;
imgSrc = this.src;
imgWidth = this.width;
imgHeight = this.height;
imgFileSize = this.fileSize;
if (imgSrc == "" || imgWidth <= 0 || imgHeight <= 0)
{
alert('그림파일을 가져올 수 없습니다.');
return;
}
if (imgFileSize > maxFileSize)
{
alert('선택하신 그림 파일은 허용 최대크기인 ' + maxFileSize/1024 + ' KB 를 초과하였습니다.');
return;
}
//이미지 사이즈 저장
document.F.imgWidth.value = imgWidth;
document.F.imgHeight.value = imgHeight;
alert(imgWidth);
alert(imgHeight);
} |
주의할 건 image.onload 이후에 image.src 가 와야한다는 것.
image.src 에서 실제 이미지를 로드하고 나서, onload가 동작하는 원리인 듯.
src가 먼저오면 onload가 되기도 하고 아니기도 하는 듯.
기타 참고 링크
http://dogfeet.tistory.com/20
http://www.juniac.net/183
http://blog.byuli.com/entry/운영체제와-브라우저-체크