Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обновления изображения без перезагрузки страницы (https://javascript.ru/forum/jquery/8777-obnovleniya-izobrazheniya-bez-perezagruzki-stranicy.html)

A.N.R.I 12.04.2010 18:36

Обновления изображения без перезагрузки страницы
 
Как можно сделать обновления изображения (каптчи) без перезагрузки страницы.

Вот само изображения <img src="image.php" id="captcha_url" alt="защитный код">

Оно генерируеться с помощью рнр файла по этому нужно просто обновить содержания (нужные символы и сесии оно само обновит)

Gvozd 12.04.2010 18:55

image_elem.src='captcha_url?'+Math.random()

A.N.R.I 12.04.2010 19:20

Цитата:

Сообщение от Gvozd (Сообщение 51340)
image_elem.src='captcha_url?'+Math.random()

Что значит Math.random и почему вконце знак вопроса?
ПС: эта функция не работает :(

Octane 12.04.2010 19:37

Цитата:

Сообщение от A.N.R.I
Что значит Math.random

http://tinyurl.com/y327gku

Цитата:

Сообщение от A.N.R.I
знак вопроса?

http://ru.wikipedia.org/wiki/HTTP#GET

A.N.R.I 12.04.2010 19:56

Я конешно в JS не очень, но зачем случайное число? Мне нужно обновить картину. Я не знаю как сказать вам. Можно както "вырвать " див и обновить его содержание?

micscr 13.04.2010 08:25

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()+'">';

Skipp 13.04.2010 09:58

<a href="#" onclick="document.getElementById('captcha').src='image.php?' + Math.random()">Обновить</a>
<img src="image.php" id="captcha" alt="защитный код">

mycoding 13.04.2010 10:38

ОНа просто добавляет его в кэш, и берёт потом от туда,
конечно в данной ситуации не очень, но уже не помнб точно , вроде можно
или может я ошибаюсь, как то вырубить кэш, но
делается это не так просто как кажется.
Возможно я ошибаюсь

Skipp 13.04.2010 10:46

header ("Cache-Control: no-cache, must-revalidate"); - php
<meta http-equiv="Cache-Control" content="no-cache"> - html

sysya 13.04.2010 11:55

A.N.R.I,
если надо менять то что на изображение без перезагрузки, это надо с аяксом делать, капать надо в сторону $.get, $.post, $.ajax...


Часовой пояс GMT +3, время: 06:30.