|
|
|
| Добрый вечер
Такая проблема, код работает только в фаерфоксе, Он должен динамически обновлять кептчу, но не обновляет, и ошибок не выдает, в чем может быть дело?
...
<td >
<img id="captcha" src="/captcha/img.html"><br>
<a href="#" onclick="document.getElementById('captcha').src = '/captcha/img.html?r='+Math.random();return false;">reload image</a>
</td>
</tr>
....
|
| |
|
|
|
|
|
|
|
для: Саша
(12.10.2008 в 23:15)
| | Страная у вас каптча какая-то... вроде картинка... расширение у картинки
должно быть GIF, JPG, на худой конец - PNG... или вовсе BMP (only Explorer)...
а у вас - HTML... ?!?!?
Не здесь ли собака порылась? | |
|
|
|
|
|
|
|
для: PAT
(12.10.2008 в 23:26)
| | за таким адресом скрипт гинерит картинку. Повторюсь, в фаерфоксе работает!!! | |
|
|
|
|
|
|
|
для: Саша
(12.10.2008 в 23:28)
| | А я тоже повторюсь: с нормальной картинкой работает ВЕЗДЕ.
Можете удостовериться здесь - специально для вас только что залил. | |
|
|
|
|
|
|
|
для: PAT
(13.10.2008 в 01:49)
| | Может работать модреврайт, и тогда хоть к господу обращайся.) | |
|
|
|
|
|
|
|
для: sim5
(13.10.2008 в 08:41)
| | ПАТ
чесно говоря, или я вас не понял или вы меня. Картинка работает и отображается, но когда я нажимаю на релоад картинка не меняется, хотя должна, в firefox ра ботает так как надо, но в ие и опере нет | |
|
|
|
|
|
|
|
для: Саша
(13.10.2008 в 20:21)
| | У меня была однажды такая проблема, но это оказалось "индивидуальностью" моего ослика. Он переставал реагировать на JS из ссылки, когда в адресной строке появлялось вот эта бяка # Попробуйте вообще без нее, кто знает... | |
|
|
|
|
|
|
|
для: Николай2357
(13.10.2008 в 20:58)
| | >> когда в адресной строке появлялось вот эта бяка #
Ваша бяка появлялась из-за того, что у вас она в href'е написана... Во-первых, если пустое значение там оставить, то ссылка будет открывать текущую папку, а во-вторых, вместо # лучше использовать javascript: void(0);, так как href=# всегда будет ссылаться на начало страницы, прокручивая её до самого верху. | |
|
|
|
|
|
|
|
для: Nytrogen
(13.10.2008 в 21:57)
| | Эта бака не у меня, а у автора топика в хрефе написана. я просто вспомнил, что такая у меня проблема была.
>Во-первых, если пустое значение там оставить, то ссылка будет открывать текущую папку,
ничего она открывать не будет
>так как href=# всегда будет ссылаться на начало страницы, прокручивая её до самого верху.
и никуда ссылаться не будет, и прокручивать тоже не будет. Вообще ничего не будет, так как ей все запретили и сказали низззя. (событие прервано return false).
Я почему написал - мало ли. Я тоже мучался, пока не выяснил, что это только конкретно мой осел так ведет себя. Другие нормально работали. | |
|
|
|
|
|
|
|
для: Николай2357
(13.10.2008 в 22:55)
| | ОК, я подразумевал, что в onclick ничего не написано. | |
|
|
|
|
|
|
|
для: Саша
(13.10.2008 в 20:21)
| | По тому же адресу смотрите измененный код.
SRC картинки - это php-файл, код которого приведён.
Всё работает. | |
|
|
|
|
|
|
|
для: PAT
(13.10.2008 в 22:04)
| | PAT
Отдельное спасибо , что потрудились написать и выложить код.
Да, Ваш код работает. Но мой все таки нет.
вот как генерится картинка (там клас, просто снял те части которые важны)
$this->img_obj = imagecreate(90,80);
imagecolorallocate($this->img_obj,255,255,255);
$colors[] = imagecolorallocate($this->img_obj,12,33,156);
$colors[] = imagecolorallocate($this->img_obj,12,156,87);
$colors[] = imagecolorallocate($this->img_obj,156,148,12);
$colors[] = imagecolorallocate($this->img_obj,156,36,12);
$colors[] = imagecolorallocate($this->img_obj,220,14,23);
$this->color = $colors[rand(0,count($colors)-1)];
$this->color2 = imagecolorallocate($this->img_obj,rand(100,220),rand(100,220),rand(100,220));
// ...
// ТУТ ПРОЦЕС ФОРМИРОВАНИЯ КАРТИНКИ, ОН ПРОПУЩЕН
// ...
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
if(function_exists("imagegif")){
header("Content-Type: image/gif");
imagejpeg($this->img_obj);
} else if(function_exists("imagejpeg")){
header("Content-Type: image/jpeg");
imagegif($this->img_obj);
} else if(function_exists("imagepng")){
header("Content-Type: image/x-png");
imagepng($this->img_obj);
}
|
Может тут косяк? Хотя...
И еще одно, переботаный код
<tr>
<td></td>
<td >
<img id="captcha" src="/captcha/img.php"><br>
<a href="" onclick="document.getElementById('captcha').src = '/captcha/img.php?r='+Math.random();return false;">reload image</a>
</td>
</tr>
|
Я вот думаю, может просто експолерер не может записать в то место src, так как оно только для чтения? | |
|
|
|
|
|
|
|
для: Саша
(16.10.2008 в 00:01)
| | Трудно судить.
Начните с того, что просто загрузите картинку в браузер, т.е.
в адресной строке браузера пропишите сначала
http://путь_к_файлу_img.php?r=0.123456789 (набор цифр от балды)
а потом
http://путь_к_файлу_img.php?r=0.987654321 (также с потолка, но отличный от первого варианта)
и посмотрите - выдаст ли вам браузер ваши картинки.
Если выдаст, то тогда создайте простенький html-файл с двумя тегами <IMG>:
<html>
<body>
<img src="http://путь_к_файлу_img.php?r=0.123456789">
<hr>
<img src="http://путь_к_файлу_img.php?r=0.987654321">
</body>
</html>
| и проверьте его визуально в разных браузерах.
Если и тогда всё будет OK, то тогда я вам ничем помочь не смогу.
Однако, подозреваю, что в процессе выполнения вышенаписанного вы столкнётесь с тем, что какой-то из четырёх картинок не увидите... И, следовательно, вам придётся искать ошибку в вашем PHP-коде. | |
|
|
|
|
|
|
|
для: PAT
(16.10.2008 в 01:30)
| | Все это я сделал, и оно работает в всех браузерах. Но джаваскрыпт не работает. Еще я сделал
alert(document.getElementById('captcha').src);
|
так вот в експлорере он выдает пустую строчку, у всех остыльных полный путь к картинке, после присвоения нового адреса в document.getElementById('captcha').src выдается тот адрес, который был занесен, но в браузере ие остается старый рисунок, в опере и фф все нормально работает. | |
|
|
|
|
|
|
|
для: Саша
(16.10.2008 в 12:24)
| | Ага... подвижка уже есть - в OPERA теперь работает, хотя в самом начале вы уверяли, что только и исключительно в FireFox работоспособно.
В общем, как я понимаю, проблемы, как таковой, нет и не было.
Ибо чудес не бывает - не может этот простейший код не работать там, где он работать обязан.
Была какая-то глупая ошибка с вашей стороны, признать которую вы принципиально не в состоянии.
В общем... птицу "петух" знаете?
Идите и пачкайте мозги этой самой птице, а не нам здесь. | |
|
|
|
|
|
|
|
для: PAT
(16.10.2008 в 12:31)
| | в опере заработало так как я обновил к последней версии
а код не работает на ие . Тестил на 3 разных кампах, в ие - НЕРАБОТАЕТ.
У ж извините, если сильно запачкал вам мозги. | |
|
|
|
|
|
|
|
для: Саша
(16.10.2008 в 13:39)
| | Дайте линк - проверю и я на своём компе.
Подивлюсь на ЧУДО, работающее в FF и OPERA, но не работающее в IE | |
|
|
|
|
|
|
|
для: PAT
(16.10.2008 в 13:47)
| | Так вот, проблема решилась таким образом
<img id="captcha" src="/captcha/img.php"><br>
<a href="" onclick="document.images.captcha.src = '/captcha/img.php?'+Math.random();return false;">reload image</a>
|
Выходит в експлорере просто этот ид был только для чтения, скорее всего,
до конца проблему я так и не понял
Всем спасибо! | |
|
|
|