У меня есть файл PHP, который генерирует динамическое содержимое изображения (изображение Captcha)
Изображение необходимо загрузить и перезагрузить на клиенте.
Вот главная страница (test.html):
<html>
<head>
<title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>
function reload_image(){
$('#img').attr('src','img.php?'+Math.random());
}
</script>
</head>
<body>
</body>
<img id="img" /><a href="javascript:reload_image();">Reload</a>
</html>
и файл PHP (img.php):
<?php
header("Content-type: image/jpeg");
readfile('php.png');
Каждый раз, когда я нажимаю на ссылку «Обновить», в журнале доступа apache появляется ДВА журнала, но в сетевом мониторе Chrome только один, вот журнал:
127.0.0.1 - - [20/Feb/2011:15:38:59 +0800] "GET /img.php?0.8672932190820575 HTTP/1.1" 200 249
127.0.0.1 - - [20/Feb/2011:15:38:59 +0800] "GET /img.php?0.8672932190820575 HTTP/1.1" 200 249
127.0.0.1 - - [20/Feb/2011:15:39:13 +0800] "GET /img.php?0.4399074970278889 HTTP/1.1" 200 249
127.0.0.1 - - [20/Feb/2011:15:39:14 +0800] "GET /img.php?0.4399074970278889 HTTP/1.1" 200 249
Эти скрипты отлично работают в Firefox, это ошибка Chrome? Как я могу это исправить?
Большое тебе спасибо!
ИЗМЕНИТЬ
Кажется, проблема в неправильной структуре HTML, я поместил содержимое за пределы <body>
, если я поместил его, в Chrome такой ошибки не будет.
Я также обновил свою программу, удалил объявление DTD, после этого такая ошибка также исчезла.
Так что я думаю, что мне не следует использовать строгое DTD, потому что иногда это сложно понять :(
<a href="#" onclick="javascript:reload_image();">
- person   schedule 20.02.2011