Если есть доступ к php, то в заголовок к картинке надо добавить
header('Cache-control: no-cache');
Но это не помогает в сафари, поэтому приходится добавлять параметры в адрес
И вот функция для обновления
function reload_img(image)
{
var src = image.src;
image.setAttribute('src', '/images/blank.gif');
image.setAttribute('src', src+'?'+Math.random(1000));
}
В итоге это выглядит так:
<img src="captcha.png" id="captcha" onclick="reload_img(this);">