Имам 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="/bgjavascript: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