Дневничок фаната программирования и портала

Здесь отводят душу администрация и посетители сайта и портала savesoul.ru. Этот дневник содержит темы (их может создавать только администратор) и комментарии (регистрации не требуют и доступны всем, если только не выключены модератором). Домен savesoul.ru имеет более 10 поддоменов, которые можно с некоторой натяжкой называть отдельными сайтами. Не знаю, приемлете ли Вы такую «натяжку», но когда будете упоминать слово «сайт», не забудьте сказать, какой из поддоменов имеете в виду. Если же ведёте речь о всём сообществе ресурсов в поддоменах, называйте это сообщество не «сайт», а «портал».

К списку публикаций

Как я боролся с собственным яваскриптом в гесте

рубрика: ТРАКТАТЫ, дата и время: 08.01.2022 12:54:29

Решил я в 2003 году встроить кое-какой функционал в свою свежесозданную гостевую книгу (созданную — в смысле написанную с нуля на Перле). А точнее, мне было нужно запоминать никнейм посетителя от одной сессии до другой. Решил сделать это с помощью клиентского скрипта и использовать для хранения данных куки. Я выхватил из какого-то проекта (то ли из «Лотереи Чатов», то ли из какой-то другой части люминоферского сайта, не помню уже всех подробностей) js-файл, в котором хранились функции для работы с куками. И, видимо, опьянённый успехами с обработкой других, но тоже нужных куков Перл-сценарием, не обратил особого внимания на то, что в js-файле функции подшлифованы под работу с переменными, имеющими совсем не те названия, которые нужны были в гесте. Подключил файл. И, естественно, такая конструкция не заработала. Хорошо хоть, что не помешала работе с сеансовыми куками. В те времена у меня не было Перла на локалке (в смысле на моём компе), даже локалки таковой не было. Ибо HTML-файлы я «отлаживал» простым запуском в браузере (название которого не скажу, чтоб не уронить вас в обморок, это сейчас полно браузеров с неплохим уровнем безопасности, а тогда... всплакните на досуге по поводу моего выбора браузера в те годы, хотя, для полного счастья у меня всё-таки имелся ещё и Netscape 6, зачастую показывавший страницы не совсем так, как хотел разработчик). А вот Perl-сценарии приходилось загружать на удалённый сервер и пытаться запускать, а потом ходить на всё тот же сервер за логами, по которым отыскивать ошибки. Когда я слишком увлекался написанием кода в ущерб его отладке, это несколько раз кончалось возвращением к предыдущей редакции скрипта, ибо ошибки вылавливались... да что там, не хотели они вылавливаться, их было многовато для меня одного. Особенно учитывая, что инет у меня тогда был через модемный пул на спаренной телефонной линии. Естественно, когда по второй «половинке» линии кто-то беседовал, приходилось долго ждать. А когда я всё-таки подключался, впору было ждать визита соседа с требованием «вырубай Интернет». А так как, по завету кота Леопольда, следует жить дружно, пришлось подстраиваться под такие весёлые условия. Так, мы, кажется ушли в сторону от темы. Продолжим. Бросил я искать ошибки в js-файле и оставил всё как есть. Главное, что гостевая работала. Остальное не волновало, а с незапоминаемостью ника от сессии к сессии пришлось смириться. И только недавно (когда именно — можно глянуть своими глазами) я снова занырнул в js-код и окинул его своим взглядом, ставшим гораздо опытнее за прошедшие почти 2 десятилетия и — о, чудо! — сразу же увидел, в чём секрет крокодила. Зубы его (кода-крокодила) я удалил, т.е. JavaScript-код исправил и, после удачного испытания, даже малость усовершенствовал. Теперь, что надо, то запоминается. Меньше «напряга» со вводом имени и так далее, всё как когда-то сделать хотел, теперь сделал. Разумеется, гостевая эти годы не стояла на месте. Но это уже другая история, а я на основе получившегося кода создал генератор гостевых книг, который поможет даже тем пользователям, кто сам написать себе гесту не может. Или не хочет возиться с кодом. Вот такие дела!

Комментарии:

Комментариев пока нет.

Добавить комментарий

Powered by Antitrue Engine v 3.4.5 from SM aka AntiGun