<?php ?>
Chciałem, żeby na stronie była zawsze aktualna godzina, więc postanowiłem to ulepszyć za pomocą biblioteki advajax i napisałem taki coś:
Kod
<script type="text/javascript" language="JavaScript">
advAJAX.setDefaultParameters({
onSuccess : function(obj) {
document.getElementById(obj.tag).innerHTML = obj.responseText;
}
});
function advAJAXGet(){advAJAX.get({ tag: "currenttime", url: "time.php" });}
advAJAXGet();
window.setInterval(advAJAXGet,1000);
</script>
advAJAX.setDefaultParameters({
onSuccess : function(obj) {
document.getElementById(obj.tag).innerHTML = obj.responseText;
}
});
function advAJAXGet(){advAJAX.get({ tag: "currenttime", url: "time.php" });}
advAJAXGet();
window.setInterval(advAJAXGet,1000);
</script>
No i na końcu dałem w sekcji body:
Kod
<div id="currenttime"></div>
Efektem jest (albo miało być) odświeżanie godziny co sekundę. W ten sposób na stronie zegarek sam się "aktualizuje". Niby wszystko gra, ale na Firefoxie w konsoli wywala takie coś co sekundę:
Cytat
Błąd: błąd składni
Plik źródłowy: http://localhost/time.php?_uniqid=2378948456
Wiersz: 1, Kolumna: 1
Kod źródłowy:
14:29:49^
Plik źródłowy: http://localhost/time.php?_uniqid=2378948456
Wiersz: 1, Kolumna: 1
Kod źródłowy:
14:29:49^
W niczym to nie przeszkadza, ale zaśmieca ostro konsolę błędów. Na IE i Operze w konsoli nic nie wywala.
Druga sprawa. Napisałem inny skrypt coś jak samoodświeżający się shoutbox.
Kod
<script type="text/javascript" language="JavaScript">
function advAJAXGet(){advAJAX.get({ tag: "messages", url: "ajax.php?id=1" });}
advAJAXGet();
window.setInterval(advAJAXGet,5000);
</script>
function advAJAXGet(){advAJAX.get({ tag: "messages", url: "ajax.php?id=1" });}
advAJAXGet();
window.setInterval(advAJAXGet,5000);
</script>
Wcześniej dałem oczywiście setDefaultParameters jeśli to ma znaczenie.
Plik php generuje diva (dla każdej wiadomości, wiec jeśli jest 20 wiadomości to 20 takich divów):
Kod
<div class="message">
<a href="#2"><b>Kto</b></a> <i>napisał(a)</i>: Tekst
</div>
<a href="#2"><b>Kto</b></a> <i>napisał(a)</i>: Tekst
</div>
Oczywiście te te divy są umieszczane pomiędzy:
Kod
<div id="messages">
[...]
</div>
[...]
</div>
Skrypt także działa na wszystkich przeglądarkach (IE, FF, Opera), ale w FF w konsoli co 5 sekund widnieje taki błąd:
Cytat
Błąd: niezrozumiała seria znaków po elemencie dokumentu
Plik źródłowy: http://localhost/ajax.php?id=1&_uniqid=2504745365
Wiersz: 4, Kolumna: 1
Kod źródłowy:
<div class="inn_message">^
Plik źródłowy: http://localhost/ajax.php?id=1&_uniqid=2504745365
Wiersz: 4, Kolumna: 1
Kod źródłowy:
<div class="inn_message">^