Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Минималистский календарик в 1 кБ? учебно-спортивный интерес 
:(
    Опции темы
SelenIT
Дата 27.10.2007, 04:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Однажды как-то случайно получился у меня минималистский а-ля календарик одной ф-цией, сегодня я снова на него наткнулся, чуть "причесал" код, в итоге весь скриптик уместился в 2 кБ. Вроде работает, при клике на день выполняется заданная при его создании ф-ция (в примере это простой alert) с выбранной датой как аргументом. Нутром чую, что можно сделать еще рациональнее, спортивный азарт подмывает ужать те же возможности до как минимум 1 кБ читабельного и красивого кода. Буду благодарен за соучастие в этом "интеллектуальном изв... упражнении" smile.

Upd.: Результат трудов (для тех, кому лень читать всю тему, в которой действительно много оффтопной воды;).

Это сообщение отредактировал(а) SelenIT - 10.11.2007, 01:46


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 27.10.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



а я бы лучше обсудил практическую ценность сего виджета. я лично оной не наблюдаю.
PM MAIL   Вверх
SelenIT
Дата 27.10.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



cruelangel, вообще это задумывалось как часть очередного date picker'а (вместо alert-а может быть функция подстановки отформатированной как надо даты в текстовое поле). Но вопрос действительно скорее из абстрактного научно-спортивного интереса, чем из практического smile.

P.S. Вторая попытка - 1361 байт. Много smile.

Это сообщение отредактировал(а) SelenIT - 28.10.2007, 00:46


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 28.10.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



в том-то и дело, что быстрее и проще забить дату руками, чем ковыряться мышкой в датепикере...
PM MAIL   Вверх
SelenIT
Дата 28.10.2007, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



На вкус, на цвет smile. К тому же руками можно ввести не в том формате, автоматика от этого страхует. Но еще раз - вопрос не об этом;).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 28.10.2007, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



хорошая автоматика распознает любой формат...
PM MAIL   Вверх
SelenIT
Дата 28.10.2007, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



 smile распознать-то распознает, но не факт, что правильно поймет;). Вот 07.05.08 - это 5 августа 2007, 7 мая 2008 или вообще 5 июля 2008 (у американца наутро после обильного празднования дня независимостиsmile)?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
yalo
Дата 28.10.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



Цитата(cruelangel @  28.10.2007,  00:10 Найти цитируемый пост)
в том-то и дело, что быстрее и проще забить дату руками, чем ковыряться мышкой в датепикере... 


и с чего это проще?
вполне нужная задача, сплошь и рядом применимая, буквально с неделю назад мне было необходимо такое решение, для портала, где архив новостей рациональнее всего именно в виде календаря представлять, так как новостей много, очень много может быть впоследствии, и выдавать их в виде обычной простыни со страницами-ссылками жестоко для пользователя, интересующегося новостями за определенный месяц или день.. и где же здесь простота в набивке руками? и как вообще все это набить руками?? smile  хотя бы года за два? или я что-то не поняла про предложение "набить руками"?
PM MAIL ICQ   Вверх
AKS
Дата 28.10.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(SelenIT @  27.10.2007,  18:37 Найти цитируемый пост)
 Вторая попытка - 1361 байт. Много smile.

 smile 
Да ну-у-у, много! Нормально! smile
Лучше добавьте самую малость. А то один "красный" день в неделе - это не по-нашенски (хотелось бы как минимум три). smile


Это сообщение отредактировал(а) AKS - 28.10.2007, 11:09
PM MAIL   Вверх
cruelangel
Дата 28.10.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



SelenIT, для этого достаточно рядом показывать распознанную дату. к тому же, локализацию в зависимости от выбранного языка ещё никто не отменял..


yalo, скажу по секрету: навигация реализованная в виде датепикера - полный идиотизм. особенно прикольно это выглядит, когда новостей мало  и на каждой странице получается по 1-2 записи. 
покажите мне пользователя, которого интересуют новости за определённый день прошлого месяца! нет, пользователей обычно интересуют новости за определённый период:
сегодняшние
за последнюю недёлю
за последний месяц
с момента последнего посещения
не менее часто период его вообще не интересует - он просто выводит все новости с разбиением на страницы и жмёт для перехода между ними "ещё более древние новости"
PM MAIL   Вверх
yalo
Дата 28.10.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



cruelangel, по-моему, Вы не правы, лично мне приходилось искать новости на одном из сайтов, сайт очень большой, за каждый день там было как минимум пять а может и больше новостей, адрес не вспомню, помню, что сайт объединял информацию юридического, экономического и еще возможно какого-то плана, что-то типа последних изданных законов, поправок к ним + всевозможные новости в мире бизнеса и экономики. Мне нужен был почти конкретный день, скажем плюс-минус 2 дня, а в новостях внизу была очень длинная простыня ссылок-страниц, я реально тогда замучилась искать какой-то определенный факт с того сайта среди новостей (узнав от кого-то, что на этом сайте есть интересующий меня факт среди новостей) кликая на стр. 12 и т.д. и пытаясь примерно просчитать в уме куда же еще надо кликнуть и сколько пропустить страничек...:(
интересующий меня факт я так и не нашла, терпения не хватило, а трафика съела нормально так, кликая по ссылкам-страничкам, несказанно была бы рада тогда чудесному календарику Selenа

Цитата(cruelangel @  28.10.2007,  12:34 Найти цитируемый пост)
: навигация реализованная в виде датепикера - полный идиотизм

все-таки, это Ваша субъективная точка зрения

PM MAIL ICQ   Вверх
SelenIT
Дата 28.10.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(yalo @  28.10.2007,  17:55 Найти цитируемый пост)
Мне нужен был почти конкретный день, скажем плюс-минус 2 дня, а в новостях внизу была очень длинная простыня ссылок-страниц, я реально тогда замучилась искать какой-то определенный факт с того сайта среди новостей (узнав от кого-то, что на этом сайте есть интересующий меня факт среди новостей) кликая на стр. 1, 2 и т.д. и пытаясь примерно просчитать в уме куда же еще надо кликнуть и сколько пропустить страничек...:(

До боли знакомое ощущение, полностью поддерживаю!

Цитата(cruelangel @  28.10.2007,  12:34 Найти цитируемый пост)
навигация реализованная в виде датепикера - полный идиотизм

Имхо, едва ли не чаще, чем для навигации, дейтпикеры используются для задания границ диапазонов (напр. при поиске по тем же новостям, при построении графиков статистики и т.п.). Причем юзеру-гуманитарию вполне может понадобиться диапазон "с позапрошлой среды по прошлую пятницу" - например, от анонса товара до его поступления в продажу. Переводить дни в числа в уме или лезть в "часики" - долго и неудобно, а с помощью дейтпикера - наглядно, быстро и очевидно, особенно для юзера с проводниково-аутлучными привычками. Впрочем, это мое субъективное мнение smile.

Цитата(AKS @  28.10.2007,  11:08 Найти цитируемый пост)
Лучше добавьте самую малость. А то один "красный" день в неделе - это не по-нашенски (хотелось бы как минимум три).

Добавил, заодно слегка почистив код для валидатора. Размер не изменился smile.

Вообще, основная цель этой демонстрации - проверка возможностей объекта Date, которому, по-моему, вполне можно доверить всю календарную арифметику (число дней в месяце, високосные года...), которую обычно пытаются реализовать вручную. Хотелось бы услышать комментарии по этому поводу.

Это сообщение отредактировал(а) SelenIT - 28.10.2007, 19:29


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 28.10.2007, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



yalo, нужно было воспользоваться поиском по сайту. как вариант - гуглопоиск - он ищет как правило лучше. 
если известна конкретная дата, то гораздо удобнее просто её ввести, а не тыкать десять раз на "предыдущий месяц" и пару раз на "предыдущий год".

Добавлено @ 20:39
> "с позапрошлой среды по прошлую пятницу" - например, от анонса товара до его поступления в продажу.

вот и сделай ссылку "от анонса до начала продаж", а не заставляй его вспоминать в какой день недели это произошло. даже если это невозможно фильтра "за последние две недели" более чем достаточно. в пользовательских интерфейсах не нужна излишняя точность.

Это сообщение отредактировал(а) cruelangel - 28.10.2007, 20:42
PM MAIL   Вверх
SelenIT
Дата 28.10.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



cruelangel, я не понимаю, с чего такая ярость? ;) Это ж все дело вкуса, кому-то удобнее ввести, кому-то - покликать. Чем наличие рядом с полем ввода даты ма-аленькой кнопки открытия пикера мешает любителю текстового ввода? Имхо, такая комбинация всяко удобнее, чем три select-а, включая 31-строчный для числа smile.

Цитата(cruelangel @  28.10.2007,  20:33 Найти цитируемый пост)
фильтра "за последние две недели" более чем достаточно

А если понадобится "за три недели" или "за десять дней"? Плодить фильтры? Зачем, если есть универсальная выбиралка диапазона?

Цитата(cruelangel @  28.10.2007,  20:33 Найти цитируемый пост)
сделай ссылку "от анонса до начала продаж"

...для каждого товара, на всякий случай? Да если сам юзер забыл точное число, какого гейтса я должен их все помнить? smile

Цитата(cruelangel @  28.10.2007,  20:33 Найти цитируемый пост)
в пользовательских интерфейсах не нужна излишняя точность.

Пользовательские интерфейсы вообще не нужны. Все можно сделать в консоли, кто не может - тому и в системе делать нечего smile. Шутка...



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 28.10.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



три селекта - это вообще жэсть...


> А если понадобится "за три недели" или "за десять дней"?

также как и в случае 11 дней 14 часов 35 минут и 46 секунд Ж-)
вполне достаточно: 1, 2, 4 дня, 1, 2, 3 недели, 1, 2, 3, 6 месяцев


> Зачем, если есть универсальная выбиралка диапазона?

зачем, если есть универсальное поле ввода?


> Чем наличие рядом с полем ввода даты ма-аленькой кнопки открытия пикера мешает любителю текстового ввода?

ничем. речь не об этом.
PM MAIL   Вверх
SelenIT
Дата 28.10.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(cruelangel @  28.10.2007,  21:27 Найти цитируемый пост)
вполне достаточно: 1, 2, 4 дня, 1, 2, 3 недели, 1, 2, 3, 6 месяцев

Недостаточно. По опыту подобной системы, примерно каждый пятый-шестой юзер слезно просит добавить "еще фильтрик". Выбиралка диапазона решает проблему навсегда.

Цитата(cruelangel @  28.10.2007,  21:27 Найти цитируемый пост)
зачем, если есть универсальное поле ввода?

...дополненное опциональным датапикером для тех, кто не дружит с клавой smile - для максимально широкого ублажения юзеров...

Цитата(cruelangel @  28.10.2007,  21:27 Найти цитируемый пост)
речь не об этом.

...а о чем тогда? Тогда я вообще не понимаю смысла дискуссии... smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
_Michael
Дата 29.10.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



cruelangel, человек спрашывает как можно скрипт оптимизировать а не зачем он нужен. пускай для тебя ненужно он без нужды, но кому-то так нравится. Если можно не только поле ввода а еще и такой датапикер раелизовать? то что ето плохо? Конечно надмерная перегруженность страницы контентом плохо, но в данном случае, маленькая кнопочка для ввода даты двумя тремя кликами, думаю намного поднимет например общее мнение среднестистического "проводниково-аутлучного" пользователя о сайте. Большинству, подавляющему большинству юзеров намного удобнее развалившись в кресле все операции делать мишей нежели отвлекаться на клаву чтоб там найти нужную клавишу. Но еще раз повторю человек не ето спрашывал открывая данную тему. Если хочешь поспорить о том, надо такое или нет, открывай новую тему.


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
SelenIT
Дата 30.10.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Ой, йо...  smile ведь не мог я не видеть соотв. темы на dklab.ru, выходит, просто забыл напрочь, а потом фактически тупо воспроизвел практически один из примеров оттуда... AKS, что ж Вы меня сразу туда носом не ткнули?

Хотя с другой стороны, алгоритм-то тривиальнейший, диктуется структурой данных... может быть и конвергенция в мыслях такая... Но все равно, теперь придется срочно изобретать оригинальную оптимизацию и брать килобайтную планку, чтоб избавиться от "комплекса вторичности"...;)



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
AKS
Дата 30.10.2007, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(SelenIT @  30.10.2007,  01:18 Найти цитируемый пост)
AKS, что ж Вы меня сразу туда носом не ткнули?

Зачем? Здесь все по-другому - лучше, проще (никакой вторичности).

PM MAIL   Вверх
cruelangel
Дата 30.10.2007, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



обфускатором её smile
PM MAIL   Вверх
_Michael
Дата 30.10.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



SelenIT, ну смотри, если забрать все переводы строк, ето будет 1361-32*2 = 1297 байт. если в скрипте табуляцию убрать будет еще -27 байт тоесть 1270. Если заменить container на с например и calendar на например, то будет еще -37 байт, то-есть 1233. байта. если со стилей убрать px будет уже 1229, еще пробелов с десять можно убрать уже будет 1219. Нуу, больше не знаю как. smile 
Да и вообще то сам скрипт то меньше, всего 995 байт, что менее 1к. а етих 1361 ето ж вся страница.


Это сообщение отредактировал(а) _Michael - 30.10.2007, 15:41


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
_Michael
Дата 30.10.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



Еще можно вместо d.getElementById(id).innerHTML писать просто id.innerHTML. ( еще -19 байт smile)

Это сообщение отредактировал(а) _Michael - 30.10.2007, 15:50


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
_Michael
Дата 30.10.2007, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



Сорри, только что попробовал id.innerHTML у меня не работает, но container.innerHTML работает отлично smile


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
SelenIT
Дата 30.10.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



_Michael, спасибо, но хотелось бы сохранить подобие читаемости. Сжатие за счет переносов строк и пробелов - это, имхо, уже немножко неспортивно;). А замена getElementById на all и тем паче глобальную переменную нарушает кроссбраузерность...

Пока удалось преодолеть планку в 1.3 кБ, за счет убирания лишних переменных и злоупотребления "добротой" HTML-модели, самостоятельно закрывающей незакрытые <td>, <tr> и т.п.. Итого, текущий рекорд (с двумя "красными днями", на пределе читаемости) - 1242 знака (при "неспортивном" сжатии в одну строку, убирании ";" перед "}" и переименовании переменных в однобуквенные - 1065). Имхо, это можно уже постить прямо сюда...;)
Код
<script>
function calendar(id,func,dt){
 dt=dt||new Date();
 var y=dt.getFullYear(),m=dt.getMonth(),t='<table><tr>',d,
 ars=['&lt;&lt','&gt;&gt;'],
 dc={5:'sat',6:'sun'};
 for(var i=0; i<7; i++) t+='<th'+(dc[i]?' class="'+dc[i]+'"':'')+'>'+['Пн','Вт','Ср','Чт','Пт','Сб','Вс'][i];
 for(i=1-((new Date(y,m,1)).getDay()+6)%7; i<=(new Date(y,m+1,0)).getDate(); i+=7){
  t+='<tr>';
  for(var j=0,cn;j<7;j++){
   cn=(dc[j]||'')+((d=new Date(y,m,i+j)).getMonth()!=m?' oth':'');
   t+='<td'+(cn?' class="'+cn+'"':'')+' onclick="'+func+'(new Date('+y+','+m+','+(i+j)+'))">'+d.getDate();
  }
 }
 for(i=0;i<2;i++) ars[i]=' <a href="#" onclick="calendar(\''+id+'\',\''+func+'\',new Date('+y+','+(m+i*2-1)+',1));return!1">'+ars[i]+'<\/a> ';
 document.getElementById(id).innerHTML=ars[0]+['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'][m]+' '+y+ars[1]+t+'<\/table>';
}
</script>
<style>
table {border-collapse:collapse;}
td,th {border:1px solid #000; padding:3px; text-align:right;}
.sun {color:red; background:#fdd;}
.sat {color:red; background:#ddd;}
.oth {background:#aaa;}
</style>
<body onload="calendar('container','alert')">
<div id="container">Тест</div>
</body>

...А что, раз браузеры умные и умеют сами поправлять кривые, по их мнению, данные - почему бы иногда, в меру, этим не попользоваться? Вот ведь сколько трафика и сил можно на этом сэкономить...

Upd.: путем варварского насилия над HTML (присвоения целевого id самому body и незакрытия body и table) удалось приблизиться к вожделенному килобайту почти вплотную - 1033 байта. Обрезав названия месяцев по трем первым буквам, получаем 1001 байт на всю работоспособную страницу (а с document.all - вообще 990!). Формально (хоть и с применением "запрещенных препаратов") цель достигнута? ;)

Это сообщение отредактировал(а) SelenIT - 30.10.2007, 21:59


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
_Michael
Дата 30.10.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



Цитата(SelenIT @  30.10.2007,  17:50 Найти цитируемый пост)

...А что, раз браузеры умные и умеют сами поправлять кривые, по их мнению, данные - почему бы иногда, в меру, этим не попользоваться? 

Ето конечно можно, но страница не будет соответсвовать спецификациям W3C, или стандартам, в которых говорится что все теги должны закрываться
smile но здесь наверное ето несущественно.. поскольку не только ето требование на соответсвие стандарту не додержано smile

Это сообщение отредактировал(а) _Michael - 30.10.2007, 18:28


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
SelenIT
Дата 30.10.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



_Michael, по спецификации HTML не закрывать эти теги допустимо (хотя и не рекомендуется). При генерации DOM браузеры закрывают их сами перед началом следующего. А в режиме XML этот скрипт, увы, все равно не работает (по крайней мере в FF)...

P.S. Решил убедиться, сходил в спецификацию - table, оказывается, все-таки не закрывать нельзя. В примере исправил. В итоге минимальный вариант, не противоречащий стандартам, занимает 1045 байт с полными названиями месяцев и 1013 байт - с сокращенными. Планка 1024 все равно преодолена;).

Это сообщение отредактировал(а) SelenIT - 30.10.2007, 22:00


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
_Michael
Дата 30.10.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



не работает поскольку нету XML заголовка 
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 что-то в етом роде

Это сообщение отредактировал(а) _Michael - 30.10.2007, 18:55


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
SelenIT
Дата 30.10.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



_Michael, какой вариант и в каком браузере не работает? Или имеется в виду, что не проходит валидацию? Не спорю, для полной валидации даже как HTML 4.01 нужно добавить DOCTYPE, <title> и атрибут type для <script> и <style>, что скажется на калорияхбайтах smile. Но вообще в Strict mode работает, я проверял.

Правда, в настоящем XHTML (который с Content-type:application/xhtml+xml) не хочет innerHTML присваиваться, "неизвестная ошибка" вылетает. Для него придется делать версию на чистом DOM. Но тут уж я на килобайт и не замахиваюсь...

Это сообщение отредактировал(а) SelenIT - 30.10.2007, 22:04


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 30.10.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



в данном случае лучше верстать дивами...
PM MAIL   Вверх
_Michael
Дата 31.10.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



Не, я имел ввиду например здесь http://validator.w3.org/ smile Но ето если по стандартах все делать то конечно что в килобайт не уместится никак smile


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
SelenIT
Дата 31.10.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(_Michael @  31.10.2007,  15:36 Найти цитируемый пост)
Но ето если по стандартах все делать то конечно что в килобайт не уместится никак

Видимо, да. Получилось целых 1193 байта.

Цитата(cruelangel @  30.10.2007,  20:37 Найти цитируемый пост)
в данном случае лучше верстать дивами...

С точки зрения семантики не согласен (списки - еще куда ни шло), с точки зрения "спортивной оптимизации" - возможно, стоит попробовать, но имхо тогда CSS будет далеко не таким минималистским...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 31.10.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



float: left
width: 1em

PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1860 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.