2013-01-24 3 views
1

IE의 setAttribute()와 비슷한 문제에 대한 다른 게시물을 모두 보았지만 해결 방법을 얻을 수없는 것 같습니다 (특히 IMG 요소의 src 속성이미지를 서버에서 강제로 다시로드하는 방법

예 :.

function reloadCaptcha(sImgElementId) { 
    var oImgElement = document.getElementById(sImgElementId); 
    oImgElement.setAttribute('src', oImgElement.src); 
    return false; 
} 

그리고 img 요소 :.. 그것은 단지 SRC를 다시로드

<img id="nlc" name="nlc" src="/inc_captcha.asp" onClick="javascript:reloadCaptcha('nlc'); return false;" /> 

은 크롬과 FF 나다의 매력처럼 작동 IE.

IE에서 어떻게 작동합니까?

답변

6

나는 그것이 안정적으로 보안 문자 이미지를 다시로드 확신 :

oImgElement.src = oImgElement.src + '?' + Math.random(); 
+0

당신은 승리. IE의 캐싱 문제를 잊어 버렸습니다. – Ian

+1

+1, 이미지 캐싱을 중단하는 표준 방법이지만 이렇게하면 URL에 다른 매개 변수가 있으면 한 번만 작동하고 작동하지 않을 수 있습니다. 반복적으로 작동하게하려면 먼저 오래된 임의의 값이 있으면 제거해야합니다. – jfriend00

+0

, 이보다 더 좋은 방법이 없을까요? 이전에 iframe을 사용하여 다시로드 한 적이 있었지만 괜찮 았지만 그 일에서 벗어나려고했습니다. 또한, 내 예제에서는 그것을 포함하지 않았지만 URL에 하나의 다른 매개 변수가 있으므로 임의 값 쿼리가 작동하지 않습니다. – GWR

관련 문제