JS код
|
|
vaan | Дата: Воскресенье, 31 Июля 2011, 20:43 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Добрый день всем Помогите пожалуйста разобраться с JS кодом
Обьясните - за что отвечает этот код. Желательно разобрать код как можно подробней
Code function get_cookie(name) { cookie_name = name + "="; cookie_length = document.cookie.length; cookie_begin = 0; while (cookie_begin < cookie_length) { value_begin = cookie_begin + cookie_name.length; if (document.cookie.substring(cookie_begin, value_begin) == cookie_name) { var value_end = document.cookie.indexOf (";", value_begin); if (value_end == -1) value_end = cookie_length; return unescape(document.cookie.substring(value_begin, value_end)); }; cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1; if (cookie_begin == 0) break; } return null; }; function set_cookie(name, value, expires) { if(!expires) expires = new Date(); document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() + "; path=/"; }; function save_cookie(v, name) { expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie(name, v, expires); }; function OnChange(obj, val, txt) { try { save_cookie(val, "group"); var h = document.getElementById('hdn_group'); if(h) h.value = val; }catch(e){}; }; function InitGroup(name) { var gv = get_cookie("group"); var so = document.getElementById(name); var sh = document.getElementById('hdn_group'); var v; try{ for(var i=0; i<so.options.length; i++) if(so.options[i].value == gv) { so.options[i].selected = true; sh.value = gv; }; }catch(e){}; var a = document.getElementById('play_link'); if ( a != null ) { a.href = "/toplay.php?group=" + so.options[so.selectedIndex].value; } Site.SelToDiv(name, {'readonly':true, 'onselect':'OnChange'}); return true; }; InitGroup('group');
|
|
| |
Sellimius | Дата: Воскресенье, 31 Июля 2011, 20:48 | Сообщение # 2 |
участник
Сейчас нет на сайте
| js не знаю но тут куки впихивает и создает cookie_name - имя cookie_length - длина
|
|
| |
vaan | Дата: Воскресенье, 31 Июля 2011, 20:52 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Ну я как бы понимаю, что речь идёт о печеньках(стрелять колотить ) Мне бы хотелось поподробней чтобы мне рассказали о коде
|
|
| |
Kornival | Дата: Пятница, 02 Сентября 2011, 17:13 | Сообщение # 4 |
The Witcher
Сейчас нет на сайте
| Не хочу из-за такого маленького вопроса создавать новую тему. Посоветуйте хороший учебник по JavaScript не ориентированный на новичков в программирование, где не "разжевываются" элементарные понятия и материал изложен максимально кратко и без "воды".
|
|
| |
|
Kornival | Дата: Пятница, 02 Сентября 2011, 18:02 | Сообщение # 6 |
The Witcher
Сейчас нет на сайте
| Quote (noTformaT) http://javascript.ru/book - не помог В сети огромное количество книг по JS, но мне обязательно нужна такая: Quote (Kornival) не ориентированный на новичков в программирование, где не "разжевываются" элементарные понятия и материал изложен максимально кратко и без "воды". Я ведь не могу перебирать все книги, поэтому и прошу помощи у вас.
|
|
| |
noTformaT | Дата: Пятница, 02 Сентября 2011, 18:30 | Сообщение # 7 |
Ukrainian independent game developer
Сейчас нет на сайте
| Kornival, Quote Практически, любая книга по JavaScript — это воплощение Зла. В них куча ошибок, бестолковых примеров и плохих советов. Важные особенности языка либо плохо рассмотрены, либо не затрагиваются вовсе. Я прошёлся через десятки книг по JavaScript и могу рекомендовать только одну из них: JavaScript: The Definitive Guide (5th Edition) by David Flanagan. (Уважаемые авторы: Если вы написали хорошую книгу, пожалуйста, вышлите мне копию для ознакомления.) Дуглас Крокфорд. Один из разработчиков JavaScript.
@noTformaT
|
|
| |
serg-kkz | Дата: Пятница, 02 Сентября 2011, 18:56 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| vaan, если это фрагмент из большого кода, то прокомментировать его трудно. А если кто и прокомментирует я сомневаюсь что это тебе будет интересно и полезно. Достаточно узнать где он использовался что б определить за что отвечает этот код.
|
|
| |
Kornival | Дата: Пятница, 02 Сентября 2011, 19:10 | Сообщение # 9 |
The Witcher
Сейчас нет на сайте
| Quote (noTformaT) Дуглас Крокфорд. Один из разработчиков JavaScript. Отлично, пойду куплю мыло и веревку
|
|
| |
Balloncik | Дата: Воскресенье, 21 Октября 2012, 07:21 | Сообщение # 10 |
частый гость
Сейчас нет на сайте
| Без ссылки на оригинал трудно узнать значение данного кода.
Сперва создаётся куки и задаются настройки: function get_cookie(name) cookie_name = name + "="; cookie_length = document.cookie.length; cookie_begin = 0; while (cookie_begin < cookie_length)
Далее устанавливается значение begin: value_begin = cookie_begin + cookie_name.length;
Применяеться условный оператор begin = name: if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
В куки создаются 3 значения: function set_cookie(name, value, expires)
Куки сохраняет значения в скобках: function save_cookie(v, name)
Тут помойму устанавливается время через которое name, v, expires будут перезадоваться: expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie(name, v, expires);
function OnChange(obj, val, txt)
Сохранение в куки val и group, устанавливается оператор для val: save_cookie(val, "group"); var h = document.getElementById('hdn_group'); if(h) h.value = val;
В куки формируется group и в документе создаются name и hdn_group, которые имеют "другие названия": var gv = get_cookie("group"); var so = document.getElementById(name); var sh = document.getElementById('hdn_group');
Создаётся элемент play_link: var a = document.getElementById('play_link');
Помойму ссылка на опции или дополнительную информацию: a.href = "/toplay.php?group=" + so.options[so.selectedIndex].value;
P.S. Если что - js не знаю)
Сообщение отредактировал Balloncik - Воскресенье, 21 Октября 2012, 07:21 |
|
| |
Kamskii | Дата: Воскресенье, 21 Октября 2012, 09:14 | Сообщение # 11 |
Game ≠ Toy
Сейчас нет на сайте
| Kornival, JavaScript Garden. Самый лучший учебник по JS.
|
|
| |