Jump to content
  • 0

Ява Скрипт, азы


beze
 Share

Question

В учебнике Макфарланда, по которому я изучаю язык, был дан пример вывода даты при помощи функции dateString()

Я этот пример перекатал, заменив английские названия месяцев и дней на русские. Не идёт у меня скрипт и всё. Раз десять проверил. Искал ошибки сразу на двух браузерах. В конце концов они у меня выделили строчку, которую я здесь выделил красным. ИЕ утверждает, что определение отсуствует.

<script type="text/javascript">

function dateString (date, string) {

var year= date.getFullYear();

var month = date.getMonth();

var realMonth=month+1;

var fillMonth = realMonth;

if (realMonth<10) {

fillMonth = '0' + realMonth;

}

var months = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'];

var monthName = months [month];

var day = date.getDate();

var fillDate = day;

if (day <10) {

filldate = '0' + day;

}

var weekDay = date.getDay();

var weekdays = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];

var dayName = weekdays[weekday];

string = string.replace (/%Y/g,year);

string = string.replace(/%y/g,year.toString().slice(-2));

string = string.replace(/%M/g,monthName);

string = string.replace(/%m/g,monthName.slice(0,3));

string = string.replace(/%N/g,fillMonth);

string = string.replace(/%n/g,realMonth);

string = string.replace(/%W/g,dayName);

string = string.replace(/%w/g, dayName.slice(0,3));

string = string.replace(/%D/g,fillDate);

string = string.replace(/%d/g,day);

return string;

}

</script>

<script type="text/javascript">

var today = new Date();

var message = dateString (today, 'Сегодня %W, %M, %d, %Y');

document.write(message);

</script>

Я буду очень благодарен, если кто-нибудь объяснит, где моя ошибка.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
hf3

Спасибо, заработало.

Что самое интересное, автор на своём сайте приводит примеры работающих скриптов, которые он описывал в книге. Так там написано как у меня, с нижним регистром - и работает!

А у меня в появивейся надписи день - среда. наверное надо поставить первым не понедельник, а воскресенье. Но есть, вроде бы, и другие варианты. Завтра уже думать буду

Link to comment
Share on other sites

  • 0

Здравствуйте Всем.

Есть сайт, на таблицах и CSS, в нём использован js (текущая дата), на сайте вынесен в отдельный файл.

function MakeArray(n) {
this.length = n
return this
}
monthNames = new MakeArray(12)
monthNames[1] = "январь"
monthNames[2] = "февраль"
monthNames[3] = "март"
monthNames[4] = "апрель"
monthNames[5] = "май"
monthNames[6] = "июнь"
monthNames[7] = "июль"
monthNames[8] = "август"
monthNames[9] = "сентябрь"
monthNames[10] = "октябрь"
monthNames[11] = "ноябрь"
monthNames[12] = "декабрь"
dayNames = new MakeArray(7)
dayNames[1] = "воскресенье"
dayNames[2] = "понедельник"
dayNames[3] = "вторник"
dayNames[4] = "среда"
dayNames[5] = "четверг"
dayNames[6] = "пятница"
dayNames[7] = "суббота"

function customDateString() {
currentDate = new Date()
var theDay = dayNames[currentDate.getDay() + 1]
var theMonth = monthNames[currentDate.getMonth() + 1]
msie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ));
if (msie4) {
var theYear = currentDate.getYear()
}
else {
var theYear = currentDate.getYear() +1900
}
return theDay + ", " + theMonth + " " + currentDate.getDate() + ", " + theYear
}

В каждой странице сайта:

 <script LANGUAGE="JavaScript" type="text/javascript">
document.write(customDateString())
</SCRIPT>

До вчерашнего дня, дата отображалась правильно, в четырех браузерах (IE,mozilla,chrome,opera).

Сейчас в opera вместо 2011г - 3911г. При этом такая ерунда если открывать сайт с хостинга.

Если открыть сайт с диска D (в моем компьютере) - год отразится нормально.

О js практически ничего не знаю. Код нашел очень давно и уже не помню где.

Сайт http://stanok-lg.narod.ru/, до вчерашнего дня отработал 45 дней.

Подскажите пожалуйста, что могло произойти, возможно ли это исправить.

Написал здесь, потому, что название топика немного похоже.

Link to comment
Share on other sites

  • 0

Привык отчитываться. Сегодня на работе заходил на свой сайт с двух машин с разными версиями Опер, оказалось все нормально.

пришел с работы та же ерунда. Буду искать у себя. Что- бы не выглядеть флудером - скрин.

http://savepic.org/1579627.jpg

Edited by yugov
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy