Обновления изображения без перезагрузки страницы
Как можно сделать обновления изображения (каптчи) без перезагрузки страницы.
Вот само изображения <img src="image.php" id="captcha_url" alt="защитный код"> Оно генерируеться с помощью рнр файла по этому нужно просто обновить содержания (нужные символы и сесии оно само обновит) |
image_elem.src='captcha_url?'+Math.random() |
Цитата:
ПС: эта функция не работает :( |
Цитата:
Цитата:
|
Я конешно в JS не очень, но зачем случайное число? Мне нужно обновить картину. Я не знаю как сказать вам. Можно както "вырвать " див и обновить его содержание?
|
A.N.R.I, если ты будешь писать, чтобы обновилась:
img.src = "5.jpg"; то ничего не произойдет, т.к. 5.jpg есть в кеше браузера и оттуда и достанется. А если писать: img.src = "5.jpg?" + Math.random(); получается что путь запроса на картинку неизвестен браузеру(всегда разный из-за Math.random) поэтому браузер подгрузит измененную картинку. Цитата:
div.innerHTML = '<img src="5.jpg?'+Math.random()+'">'; |
<a href="#" onclick="document.getElementById('captcha').src='image.php?' + Math.random()">Обновить</a> <img src="image.php" id="captcha" alt="защитный код"> |
ОНа просто добавляет его в кэш, и берёт потом от туда,
конечно в данной ситуации не очень, но уже не помнб точно , вроде можно или может я ошибаюсь, как то вырубить кэш, но делается это не так просто как кажется. Возможно я ошибаюсь |
header ("Cache-Control: no-cache, must-revalidate"); - php
<meta http-equiv="Cache-Control" content="no-cache"> - html |
A.N.R.I,
если надо менять то что на изображение без перезагрузки, это надо с аяксом делать, капать надо в сторону $.get, $.post, $.ajax... |
Всем спасибо! Я разобрался!!
|
Вот еще вариант:
<script language="JavaScript"> function refreshOr(element) { setTimeout(function() { element.src = element.src.split('?')[0] + '?' + new Date().getTime(); refreshOr(element); }, 60000); // refresh every 60s } </script> <img src="img.jpg" title="Заголовок для изображения" onload="refreshOr(this)" /><br> |
Ruskat, где вы были 8 лет назад?
|
Цитата:
|
Часовой пояс GMT +3, время: 18:01. |