Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№102-01-2006 17:19:35

Andrewxa
Участник
 
Группа: Members
Зарегистрирован: 02-01-2006
Сообщений: 10

Непонятная проблема с Java Script

Мой Firefox 1.5 не может правильно обработать следующий код:

<SCRIPT type="text/javascript">
    var today = new Date()
    var year = today.getYear()
    document.write("2004-",year,",")
</SCRIPT>

Вместо 2006 там получается каким-то образом 106. Как решить эту проблему?

Отсутствует

 

№202-01-2006 17:45:46

roopix
Участник
 
Группа: Members
Зарегистрирован: 13-07-2005
Сообщений: 1106

Re: Непонятная проблема с Java Script

я в этом не профи, но Fx сообщает скрипту число лет, прошедших с 1900 года.


Du hast mich gefragt und ich hab nichts gezagt.

Отсутствует

 

№302-01-2006 17:46:53

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Непонятная проблема с Java Script

Прибавить 1900, ибо метод getYear возвращает число лет прошедшее с этого самого года...


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№402-01-2006 18:00:42

Andrewxa
Участник
 
Группа: Members
Зарегистрирован: 02-01-2006
Сообщений: 10

Re: Непонятная проблема с Java Script

Я понял, что там с 1900, но почему так не разумно? Если ввести поправку и смотреть другими браузерами, то получится бред.

Отсутствует

 

№502-01-2006 18:18:04

Rion
Участник
 
Группа: Extensions
Откуда: Екатеринбург
Зарегистрирован: 15-06-2005
Сообщений: 227

Re: Непонятная проблема с Java Script

тема уже была. метод getYear считается нежелательным к использованию. вместо этого следует использовать getFullYear


Gentoo Linux

Отсутствует

 

№602-01-2006 18:20:51

TLev
Участник
 
Группа: Members
Зарегистрирован: 18-06-2005
Сообщений: 317

Re: Непонятная проблема с Java Script

date.GetYear считается устаревшим,
хороший тон - использовать date.getFullYear, с ним пробем гораздо меньше.

Отсутствует

 

№702-01-2006 18:32:03

Andrewxa
Участник
 
Группа: Members
Зарегистрирован: 02-01-2006
Сообщений: 10

Re: Непонятная проблема с Java Script

<SCRIPT type="text/javascript">
   var today = new Date()
   var year = today.getFullYear()
   document.write("2004-",year,",")
</SCRIPT>

Работает как надо, спасибо!

Отсутствует

 

№810-01-2006 19:48:58

Andrewxa
Участник
 
Группа: Members
Зарегистрирован: 02-01-2006
Сообщений: 10

Re: Непонятная проблема с Java Script

Вот возникла ещё одна проблема с обновлением времени в Firefox. Если кто-нибудь сможет помочь - буду очень благодарен.

<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
</HEAD>
<BODY onLoad="goforit()" marginwidth="5" marginheight="5" text=#330033 bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5">

<SCRIPT language="JavaScript">
  var dayarray=new Array("Сегодня")
  var montharray=new Array("Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря")
  function getthedate(){
    var mydate=new Date()
    var year=mydate.getFullYear()
    var day=mydate.getDay()
    var month=mydate.getMonth()
    var daym=mydate.getDate()
      if (daym<10)
        daym="0"+daym
    var hours=mydate.getHours()
    var minutes=mydate.getMinutes()
    var seconds=mydate.getSeconds()
    var cdate="<FONT color='#330033' face='Verdana' style='font-size: 10pt'><B>"+dayarray+" "+daym+" "+montharray[month]+", "+year+" | "+hours+":"+minutes+":"+seconds+"</B></FONT>"
      if (document.all)
        document.all.clock.innerHTML=cdate
      else
        document.write(cdate)}
      if (!document.all)
        getthedate()
      function goforit(){
      if (document.all)
        setInterval("getthedate()",1000)}
</SCRIPT>
<SPAN id="clock"></SPAN>
        
</BODY>
</HTML>

Отсутствует

 

№910-01-2006 22:38:57

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
Веб-сайт

Re: Непонятная проблема с Java Script

С ходу могу только сказать, что скрипт работает только в IE и, наверное в Opera, т.к. document.all есть только в IE, а Opera подкладывается под него.

Хотите более развёрнутых ответов, потрудитесь задать вопрос. Лень в этом спагетти разбираться.


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№1011-01-2006 02:27:53

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Непонятная проблема с Java Script

Проблема скорее всего с document.all - это как минимум, добавьте проверку на наличие document.getElementById, и если есть, пользуйтесь им, иначе работать не будет. Может есть и еще ошибки. Скрипт вызывает document.write, если не находит document.all, в этом случае как раз время не будет обновляться. Вообще, иногда можно обойтись более простыми средствами, например, обновлять время в текстовом поле или на кнопке. Документацию по такому методу легко было найти еще в 1998 году. А текстовое поле или кнопку можно замучить стилями, так что она сольется с окружением, только не делайте ее disabled - будут проблемы в Internet Explorer.

Отсутствует

 

№1111-01-2006 15:44:28

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Непонятная проблема с Java Script

Andrewxa пишет

Вот возникла ещё одна проблема с обновлением времени в Firefox...

Вот этот

Выделить код

Код:

...
      if (document.all)
        document.all.clock.innerHTML=cdate
      else
        document.write(cdate)}
      if (!document.all)
        getthedate()
      function goforit(){
      if (document.all)
        setInterval("getthedate()",1000)}
...

меняем вот так:

Выделить код

Код:

...
      if (document.all)
        document.all.clock.innerHTML=cdate
      else
        document.getElementById('clock').innerHTML=cdate}}
      if (!document.all)
        getthedate()
      function goforit(){
        setInterval("getthedate()",1000)}
...

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1211-01-2006 16:48:36

Andrewxa
Участник
 
Группа: Members
Зарегистрирован: 02-01-2006
Сообщений: 10

Re: Непонятная проблема с Java Script

Большое спаибо! Работает, но надо ещё немного подправить. А правильный код будет такой (в предыдущем были синтаксические ошибки):

    if (document.all)
      document.all.clock.innerHTML=cdate
    else
      document.getElementById('clock').innerHTML=cdate
    if (!document.all)
      getthedate()}
function goforit(){
   setInterval("getthedate()",1000)}

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]