У меня 3 фрейма (это чат элементарный, причем не мой ): <html> <head> <title>http-chat v1.1</title> </head> <frameset border=0 rows=45,*,40> <frame scrolling=no name=topp src=?area=top> <frame name=medium noresize src=?area=medium> <frame name=down scrolling=no src=?area=down> </frameset> </html> Во фрейме "medium" - сообщение пользователей и он периодически перезагружается. <html> <head> <meta content=no-cache htt p-equiv=pragma> <meta content=14 http-equiv=refresh> <style> a{text-decoration:none} </style> </head> <body bgcolor=000000 text'ffffff> 1415<font color="blue">11:08:11 12/08/2008 </font><a href="javascript:parent.down.click_nick('Имя')"><font color=00ff00><b>Имя</b></font></a>: <font color=ffffff>сообщение</font><br> 1414<font color="blue">11:03:35 12/08/2008 </font><a href="javascript:parent.down.click_nick('Имя')"><font color=ffb4ff><b>Имя</b></font></a>: <font color=ffffff>сообщение</font><br> ... И т.д. <script language='JavaScript'> <!--// if ((top.topp.document.getElementById('chran1').value-0)!==341){ document.write('<BGSOUND src=ringin.wav loop=1>') parent.topp.document.getElementById('chran1').value=341; window.focus(); } //--> </script> </html> Т.е. после каждой перезагрузки в этом фрейме сравнивается ID последнего сообщения с ID, записанным в форме со скрытым полем "chran1", которая находится во фрейме "topp". Если они не равны, т.е. пришло новое сообщение, то фокус передается окну и выдается звуковой сигнал, а новый ID записывается в поле "chran1". Код фрейма "topp": <html> <body bgcolor=000000 text=ffffff> <form name=chran method=GET> <input type=hidden name=chran1 id='chran1' /> </form> <center><font color=ffffff><a href=?area=history target=_blank><b>История сообщений</a></font></center> </body> </html>. Код фрейма "down" <html> <head> <style> a{color:#ff0000;text-decoration:none} a:visited{color:#ff0000;text-decoration:none} </style> <script> function click_nick(nick){ document.send_message.message.value=nick+", "+document.send_message.message.value message_focus()} function message_focus(){ document.send_message.message.focus()} function analiz(){ qqq=(top.topp.document.getElementById('chran1').value-0)+1; top.topp.document.getElementById('chran1').value=qqq; } </script> </head> <body bgcolor=000000 onload=message_focus() onunload=parent.medium.location="?area=medium" topmargin=0> <center> <form method=post name=send_message onsubmit='return analiz();'> <font color=ff0000><a href=?area=logout><b>Евгений</a>:</b></font> <input name=message size=40> <input name=set_my_message_color type=checkbox> <input type=submit value=" Ok "> <a href=?area=medium target=medium><img alt=Обновить border=0 src=smile2.gif></a> </form> </center> </body> </html> В итоге в эксплорере при приходе нового сообщения фокус передается и сигнал звучит, а в Фоерфоксе нет |