Поблемы с часами

  • Автор темы Dr_Veter
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

Dr_Veter

#1
Вот сам скрипт:
<html>
<head>
<title>Clock</title>

<!-- HEAD START HERE -->

<script language=javaScript>
<!--

function clockon() {
thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
thistime = hours+":"+minutes+":"+seconds

if(document.all) {
clocks.innerHTML=thistime
}

if(document.layers) {
document.clocks.document.write('<div id="clocks" >'+thistime+'</div>'+'<br />')
document.close()
}
var timer=setTimeout("clockon()",200)

}

// - End of JavaScript - -->
</script>

<!-- HEAD END HERE -->

</head>
<body onLoad="clockon()">

<!-- BODY START HERE -->
<center> <div id="clocks" style='font-size: 12pt; font-weight: bold; color: #3d107b;'></div></center>
<script LANGUAGE="JavaScript">

mydate = new Date();
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
weekday= myweekday;
myyear= mydate.getYear();
myyear = myyear % 100;
myyear = ((myyear < 50) ? (2000 + myyear) : (1900 + myyear));
year = myyear

if(myday == 0)
day = " Воскресенье, "

else if(myday == 1)
day = " Понедельник, "

else if(myday == 2)
day = " Вторник, "

else if(myday == 3)
day = " Среда, "

else if(myday == 4)
day = " Четверг, "

else if(myday == 5)
day = " Пятница, "

else if(myday == 6)
day = " Суббота, "

if(mymonth == 0)
month = " Января, "

else if(mymonth ==1)
month = " Февраля, "

else if(mymonth ==2)
month = " Марта, "

else if(mymonth ==3)
month = " Апреля, "

else if(mymonth ==4)
month = " Мая, "

else if(mymonth ==5)
month = " Июня, "

else if(mymonth ==6)
month = " Июля, "

else if(mymonth ==7)
month = "Августа, "

else if(mymonth ==8)
month = " Сентябтя, "

else if(mymonth ==9)
month = " Октября, "

else if(mymonth ==10)
month = " Ноября, "

else if(mymonth ==11)
month = " Декабря, "

thisdate= day + myweekday + month + year
document.write("<center><div style='font-size: 10pt; color: #3d107b;'>" + thisdate + " </div>");


</SCRIPT>
<!-- BODY END HERE -->

</body>
</html>

Он работает в IE и Opera(без нареканий), но в FireFox отображается только дата, помогите запустить ещё и часы... :-(

Я даже не знаю где может быть ошибка :)
 
S

sir Aurum

#2
Все дело в конструкции if(document.all)
FF работает по W3C стандартам, а document.all - чисто эксплореровская фишка. Opera ее унаследовала еще со времен, когда использовала движок эксплорера.

Так что меняйте
if(document.all) {
clocks.innerHTML=thistime
}

на clocks.innerHTML=thistime
и должно работать.

Кстати следующее условие if(document.layers) уже неактуально. Это работало для старых Netscape Navigator, теперь можно свободоно от этого избавляться.
 
Статус
Закрыто для дальнейших ответов.