Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Javascript image reload (https://forum.antichat.xyz/showthread.php?t=114040)

OdaN 01.04.2009 12:38

Javascript image reload
 
Вобщем есть строка

Код:

<img src="image.php">
Нужно, чтобы раз в n секунд оно обновлялось. Пробовал

Код:

<html>
<head>
<script language="javascript" type="text/javascript">
function Start()
{ action = window.setInterval("Reload()",1000); }
function Reload()
{ document.img.src = image.php;}
</script>
</head>
<body>
<img src="image.php" name=img>
<script type="text/javascript">Start();</script>
</body>
</html>

Не работает =(( Подскажите, где накосячил, и как поправить.
В JavaScript не силен, сильно не пинайте. =)

VAran 01.04.2009 13:20

попробуй такой вариант:

Код HTML:

<html>
  <head>
  <script language="javascript" type="text/javascript"> 
  var d = 1;
  function Start() 
  { action = window.setInterval("Reload()",1000); }
  function Reload() 
  { document.getElementById("img").src = (1 + ++d%8) + ".png";  } 
  </script> 
</head> 
<body onload="Start()"> 
<img src="1.png" id="img"> 
</body> 
</html>

для простоты и примера взял 8 картинок с именами от 1 до 8 с расширением png.

OdaN 01.04.2009 14:19

в том-то и дело, что картинка одна и та-же.
Код:

src="image.php"
там скрипт, который генерит картинку, при новой генерации картинка другая будет.

OdaN 01.04.2009 14:35

Попробовал

Код HTML:

<html>
<head>
<script language="javascript" type="text/javascript">
function Start()
{ action = window.setInterval("Reload()",5000); }
function Reload()
{ document.getElementById("img").src = "image.php";  }
</script>
</head>
<body onload="Start()">
<img src="image.php" id="img">
</body>
</html>

Оно толи не работает, толи браузер кеширует картинку. =(

//добавленно...
Действительно браузер кеширует картинку... можно с этим ченить сделать??

Fepsis 01.04.2009 14:51

Цитата:

Сообщение от OdaN
Оно толи не работает, толи браузер кеширует картинку. =(

//добавленно...
Действительно браузер кеширует картинку... можно с этим ченить сделать??

А если имя картинки каджый раз новое задавать..?!

OdaN 01.04.2009 15:06

Впринципе можно так сделать:
Код HTML:

<html>
<head>
<script language="javascript" type="text/javascript">
var d = 1;
function Start()
{ action = window.setInterval("Reload()",2000); }
function Reload()
{ document.getElementById("img").src = "image.php?count=" (1 + ++d%8);  }
</script>
</head>
<body onload="Start()">
<img src="image.php?count=1" id="img">
</body>
</html>

Но чет гдет там неправильно, не пашет =) и обновлять надо тогда не 8 раз, а по циклу до бесконечности... я собственно не разобрался в этом цикле только...
Код:

"image.php?count=" (1 + ++d%8);

GreenBear 01.04.2009 15:15

src = "image.php?"+Math.radnom();

OdaN 01.04.2009 15:22

Цитата:

Сообщение от GreenBear
src = "image.php?"+Math.radnom();

не обновляет >.<

Чет хрень какая-то, толи с браузером - кэш, толи даж не пойму с чем... По теории полюбому должно...

OdaN 01.04.2009 17:46

Код:

function Reload()
{ var d=Math.random();
document.getElementById("img").src="image.php?height=300&count=" + d; }

А так заработало =))

VAran 02.04.2009 02:01

может уже не актуально, но
Цитата:

не обновляет >.< Чет хрень какая-то, толи с браузером - кэш, толи даж не пойму с чем
<meta http-equiv="Cache-Control" content="no-cache">


Время: 10:45