Не могу перезагрузить самодельный код на странице с помощью JS - PullRequest
0 голосов
/ 25 сентября 2011
<a href="javascript:void(0);" onclick="document.getElementById("capchaimage").src="captcha.php"><img id="captchaimage" src="http://website.org/captcha.php" border="0" width="70" height="20" alt="Captcha image"></a>

Изображение Captcha успешно загружается, но его невозможно перезагрузить с помощью приведенного выше кода. Что я делаю не так?

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 25 сентября 2011

Ваши изображения кэшируются.Добавьте случайную строку +(new Date).getTime() в строку запроса после URL-адреса изображения:

document.getElementById("capchaimage").src="captcha.php?"+ (new Date).getTime();
0 голосов
/ 25 сентября 2011

Внимательно посмотрите на свой код:

<a href="javascript:void(0);" onclick="document.getElementById("capchaimage").src="captcha.php"><img id="captchaimage" src="http://website.org/captcha.php" border="0" width="70" height="20" alt="Captcha image"></a>
                                      ^                        ^

Я удивлен, что вы не получаете ошибки синтаксиса JavaScript. Я советую перенести код во внешние функции, чтобы избежать необходимости сложного экранирования.

0 голосов
/ 25 сентября 2011

Вы заменяете image src точно такой же строкой.

Вы можете попытаться обойти это, используя несколько «поддельных» аргументов:

http://website.org/captcha.php?fake=234342412341

Таким образом браузер будетвынужден перезагрузить.Аргумент должен быть разным каждый раз, конечно (случайный или просто счетчик)

...