Moj poprzedni produkt spotkal sie z ogromny zainteresowaniem

wiec napisalem dzis cos nowego. Mianowicie w zalozeniu skrypt ma sluzyc do powiadamiania o nowych wpisach w bazie (tych jeszcze nieautoryzowanych) na zywo, tj. od razu na stronie, bez koniecznosci odswiezania strony.
Oto link do przykladu dzialania skryptu:
http://phpion.com/ajax/uwaga.htmlNa serwerze skrypt nie pobiera danych z bazy (admin chyba by mnie zabil

), a po prostu poprzez file() zlicza ilosc linii w pliku tekstowym. Czestotliwosc sprawdzania wynosi 10 sekund (dla testow).
Oto zrodla:
uwaga.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> #uwaga {
font-family: Verdana, Tahoma, sans-serif;
font-size: 12px;
background-color: #FFDE0A;
width: 150px;
position: absolute;
right: 25px;
top: 25px;
padding: 0px;
}
a.hide, a.hide:hover {
font-family: Verdana, Tahoma, sans-serif;
font-size: 10px;
font-weight: bold;
color: #000000;
text-decoration: none;
}
<script language="javascript" type="text/javascript" src="advajax.js"></script> <script language="javascript" type="text/javascript"> show = '1';
function hide()
{
document.getElementById('uwaga').style.visibility = "hidden";
}
function clos()
{
document.getElementById('uwaga').style.visibility = "hidden";
show = '0';
}
function play()
{
document.all.base.src = "sound.wav";
}
function check()
{
if (show == '1')
{
delay = 10;
advAJAX.get({
url: "uwaga.php",
onSuccess : function(obj)
{
if (obj.responseText == "0")
document.getElementById('uwaga').style.visibility = "hidden";
else
{
document.getElementById('uwaga').innerHTML = '
<img src="zarowka.png" align="left">Nowych dupereli:
<br> ' + obj.responseText + '
<div style="position: absolute; right: 4px; top: 0px;"><a href="#" onclick="hide();" class="hide">_
</a> <a href="#" onclick="clos();" class="hide">x
</a></div>';
document.getElementById('uwaga').style.border = "1px silver solid";
document.getElementById('uwaga').style.padding = "5px";
document.getElementById('uwaga').style.visibility = "visible";
//play();
}
},
onError : function(obj)
{
alert("Error: " + obj.status);
},
});
setTimeout("check()", delay*1000);
}
else
return false;
}
Lorem Ipsum is simply dummy text (...)
oraz uwaga.php
<?php
$file = file("file.txt"); /*
CREATE TABLE uwaga (
id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
tresc VARCHAR(10),
stan ENUM('0', '1') NOT NULL DEFAULT '0'
);
*/
$q = "SELECT COUNT(id) FROM uwaga WHERE stan='0'";
?>
W pozyzszym pliku widac rowniez jak mozna pobierac dane prosto z bazy.
I znowu mam 2 pytania:
1) co zrobic aby skrypt chodzil nie tylko na FF

(Opera, Konqueror, IE wysiadaja...)
2) jak odegrac dzwiek przy wyswietlaniu diva?
Pozdrawiam

Moze komus sie spodoba, przyda...
PS: na tym serwerze nie zaobserwujemy zmiany ilosci dupereli ale jesli ktos odpali skrypt u siebie i bedzie zmienial ilosc wpisow w pliku to zobaczy
Ten post edytował phpion.com 1.09.2006, 14:46:51