?

Log in

No account? Create an account

Image Viewer v. 2.?

Переписал и немного довел до ума свой старый скрипт.

Для тех, кто не в теме:

«Image Viewer» — рабочее название моего скрипта для просмотра галерей. Скрипт выполнен в «оконном» дизайне с претензией на то, что после окончания работ, любой человек сможет взять его, разместить у себя на домашней странице (на Народе, например) и после небольшой настройки пользоваться им.

Для работы скрипта не нужны серверные технологии. Весь «движок» реализован на JavaScript и работает на стороне клиента. Настройка внешнего вида осуществляется с помощью CSS.

Что нового:

— Структурировал и немного оптимизировал html, css и javascript-код, а также данные;
— Вытащил все необходимые настройки в отдельную панель. Правда, возникли некоторые сложности: не все эту панель почему-то замечают. Буду думать;
— Реализовал «переключение» между окнами. Теперь, когда вы кликаете в области окна — оно становится активным;
— Убрал темы оформления. Все равно они никому не были нужны.

Что осталось сделать:

Вывод сообщений об ошибках;
Зум;
Переключение картинки клавишами;
— Помощь;
Реальные подпапки для изображений;
— Вынесения конфига в отдельный файл;
— Слайдшоу (пока думаю, нужно ли оно вообще);
— Drag & drop окон;
— Подкачку списков файлов и альбомов на аяксе;
— Дополнительную работу с изображением (поворот, например). Вдруг удастся реализовать это кроссбраузерно, а не только под IE?

Проверено:

— Internet Explorer 5.5, 6, 7;
— FireFox 1.5, 2, 3α (win, mac, linux);
— Opera 8, 9.1;
— Safari 3 (win, mac);
— Netscape 8;
— Maxtone;
— Konqueror 3.5
— Links;
— Lynx.

Во всех перечисленных браузерах, при включенных яваскрипте и кукисах критичных глюков и багов не наблюдалось. Ну, кроме последних двух, которые я использовал чисто по приколу и дабы убедиться, что <noscript></noscript> правильно работает. О некритичных глюках — читайте ниже.

Обнаруженные мной баги:

— В ИЕ 5.5 не работают куки. Бог его знает, почему. В остальном вроде пыхтит себе помаленьку и жрать не просит;
В ИЕ (6 и 7) клик по превьюшке почему-то не изменяет ссылку в адресной строке. Откуда сей баг взялся, мне пока не очень понятно, ибо основанные абсолютно на том же принципе кнопки «вверх» и «вниз» — работают правильно;
В 8 Опере (возможно, в какой-нибудь еще) почему-то в первый раз не схватывается картинка бэкграундов. Лечится перезагрузкой страницы;
В 8 же Опере почему-то настройки не сразу схватываются. Опять же, лечится перезагрузкой страницы. Думаю пофиксить путем введения принудительной перезагрузки;

Понты всякие, чтоб пацаны уважали:

Valid CSS! Valid XHTML 1.0 Strict Оценка качества создания сайта

Comments

Шуш, так как восхищения по предыдущей версии ты слышал, лови критические и не очень комментарии
- цвет фона изменяется не при наведении (как я ожидал), а только по нажатию
- не работают клавиши "вверх", "вниз", "вправо", "влево" - в прошлой версии вроде б работали
- нет подсказок горячих клавиш
- не работает Drag & Drop
- в справке у имени автора неправильная ссылка
- как закрыть помощь? кнопку заметил..
- уменьшить увеличить не работает..
- цвет фона запоминается в cookies? удобно
P.S. Браузер IE 7
P.P.S. По моему ты выложил нерабочий "билд" :(

А самое главное, после рекламы "Для тех, кто не в теме" нигде нет ссылки скачать.. :)
Перси, прочитай мое сообщение внимательно :) Особенно раздел «Что осталось доделать», там про уменьшить-увеличить и горячие клавиши написано.

> цвет фона изменяется не при наведении (как я ожидал), а только по нажатию
Мне показалась предыдущая реализация не удобной. Ибо вот хочешь ты закрыть окно (браузера), или там на таб другой переключиться, тянешься мышкой к нужной переключалке... бац — у тебя цвет переключился. И запомнился. Это, конечно, не критично... Но не удобно. Впрочем... если партия скажет, что предыдущий вариант был удобней — вернуть взад несложно. Ну и для понятности, я ж специально сделал cursor: pointer; :)

> в справке у имени автора неправильная ссылка
Гы... самое важное забыл :)) Из дома поправлю, ибо с работы у меня доступа к фтпшникам нету.

> нет подсказок горячих клавиш
Они будут в окошечке «Помощь». Сейчас я просто тестирую несколько разных вариантов компоновки горячих клавиш. Нужно, чтобы они, по возможности, не совпадали с горячими клавишами браузеров. Когда сделаю — можно будет и хелп к ним соорудить.

> цвет фона запоминается в cookies?
Все юзерские настройки запоминаются в кукисах. Иначе какой бы в них был смысл? Вот, кстати, думаю, надо ли запоминать, где юзер был в последний раз? Или ну его нафиг...
> «Что осталось доделать»
Оу.. мои извинения, Шуш. :)

> > цвет фона изменяется не при наведении (как я ожидал), а только по нажатию
Может сделать так, что если мышка находится на поле 3 секунды, то оно будет реагировать и на перемещение мыши :) - имхо более ожидаемая реакция :)

> > нет подсказок горячих клавиш
Подсказки не помешали бы и при наведении на клавиши.

> Вот, кстати, думаю, надо ли запоминать, где юзер был в последний раз? Или ну его нафиг...
Ну... можно сделать галочку :)
> Может сделать так, что если мышка находится на поле 3 секунды,
Не уверен, что пользователь поймет такой ход конем. Он навел мышку... ничего не произошло... кликнул... цвет с опозданием в секунду сменился... О! прикольно!.. кликнул на соседнем цвете... цвет не отработал... юзер констатирует неработоспособность элемента.

> Подсказки не помешали бы и при наведении на клавиши.
Они там есть. Title там прописан.

> Ну... можно сделать галочку :)
Да можно-то можно... от только нужно ли... подумаю.
Неет, не так..
Пользователь подвел к элементу мышку, начал проводить по элементам, через пол секунды цвета начали менятся. :) А onclick так и оставить как был...
Можно еще определять перемешения с соседнего элемента и регистрировать их - но это уже как то слишком мудрено :)

> Они там есть. Title там прописан.
Я имел ввиду подсказки по hot keys :)

Мр!
Да будут, будут подсказки. Я еще прсто сам не в курсе, какие там хоткеи будут.
Ммм.. А как ты список файлов в директории получаешь?
Есть массив js.globals.album. В него функцией загоняю по айдишнику из массива iv.files все, что относится, собственно к текущему альбому. А дальше с ним работаю. Плюс данного подхода заключается в том, что в пределах одного альбома, ты больше этот здоровый массив iv.files не трогаешь, а работаешь с небольшим массивчиком js.globals.album.
shushik.lionking.ru? Что-то у меня совсем не работает…

> Мне показалась предыдущая реализация не удобной.

Мне тоже. Поддерживаю изменение. И трёхсекундные задержки — это тоже неудобно, по-моему.

> Вот, кстати, думаю, надо ли запоминать, где юзер был в последний раз?

Сделать опционально? Для больших галерей может быть полезно (кто будет большую галерею на этом движке делать?..), на маленьких вряд ли — найти несложно.

Кстати, &nbsp;, &mdash; и прочие — это полноценные символы, доступные в cp1251.
> shushik.lionking.ru? Что-то у меня совсем не работае
Да... я вчера накосячил, проверить забыл, а с работы не могу заливать ничего. Из дома пофикшу. В Опере там вообще летальная ошибка выдавалась.

> Сделать опционально?
Скорее всего, так и будет. Добавлю еще одну галочку в панельку с настройками.