Search

!!! 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/운영체제와-브라우저-체크