Карты изображений и HTML5

Этот вопрос больше философский, чем технический.

Я выучился на веб-разработчика еще тогда, когда веб-разработчиков называли веб-мастерами, и моим любимым инструментом был FrontPage, перешедший на Evrsoft 1st Page 2000.

Это был последний раз, когда я использовал карту изображений HTML.

Теперь это HTML5, AJAX, векторные холсты, CSS 3D, jQuery, локальное хранилище, Safari с сенсорным экраном и многое другое. Карта изображений канула в безвестность, и даже Google не дает слишком много релевантных результатов; обязательная запись W3C Schools и некоторые сообщения на форуме с 2004 года.

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

Но прямо сейчас у меня есть задача создать многоугольную интерактивную область поверх div с фоновым изображением.

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

Моя философия создания веб-сайтов заключается в разработке для IE5.5, а затем для Chrome Edge. Это означает, что сайт сначала должен работать на базовом уровне даже в самом устаревшем браузере, а затем начать добавлять JS и CSS, чтобы сделать его красивее, удобнее, быстрее, проще, удобнее и лучше.

Таким образом, хотя я знаю, что могу сделать холст в Raphaël и добавить всевозможные шикарные эффекты при наведении курсора и прочее, я думаю, что для такой простой функциональности не потребуется JS-библиотека размером 89 КБ (или X КБ). Или даже JS вообще.

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

Итак, в сегодняшнем мире веб-разработки, что было бы наиболее кросс-браузерным способом определения многоугольной области щелчка (предпочтительно таким образом, который может быть захвачен jQuery .hover() или, по крайней мере, CSS :hover), который не зависит от JavaScript или CSS атрибуты, доступные в меньшинстве браузеров? Является ли карта изображений единственным способом сделать это? Что с мобильными устройствами?


person Emphram Stavanger    schedule 23.06.2012    source источник
comment
... начиная с IE5.5 довольно безумно. На самом деле вы только вредите себе. У меня сайт с довольно высоким трафиком (примерно 0,5 миллиона посетителей в месяц), и за последние 3 года у меня не было ни одного посещения с чем-либо ниже IE6. В прошлом году IE6 составил примерно 2% моей пользовательской базы.   -  person Loktar    schedule 23.06.2012
comment
Дело не в том, что я ориентируюсь на пользователей, использующих IE5.5, и я не хочу, чтобы мои веб-сайты в нем выглядели красиво. У меня даже нет копии IE5.5, чтобы проверить, как в нем выглядят мои сайты. Тем не менее, я использую это мышление при создании, чтобы гарантировать, что мои веб-сайты будут работать даже в самых примитивных браузерах, независимо от возраста (Lynx, Kindle, браузеры эпохи WAP/Nokia Navigator, программы для чтения с экрана и т. д.). Это помогает сохранить содержание и структуру как одно целое, а эффектность и чутье — как другое.   -  person Emphram Stavanger    schedule 24.06.2012
comment
Философия не учитывается, но проектирование для наименьшего общего знаменателя отсутствия javascript ограничивает вашу архитектуру невероятно примитивной моделью. Нет аякса. Все данные, отправленные через сообщения HTTP? Нет проверки/логики/интерактивности клиентской логики? Ой. Если вы не хотите, чтобы все ваши пользователи имели опыт работы в Интернете эпохи 1990-х годов, вы в основном говорите о разработке двух совершенно разных реализаций веб-сайта. Вы не можете постепенно ухудшать модель клиент/сервер ajax; вы будете делать две версии сайта. Это просто слишком много дополнительной работы без вознаграждения. Кто использует рысь?   -  person Jamie Treworgy    schedule 24.06.2012
comment
Как я уже сказал, IE5.5 не является моей целью, и я не проверяю его, но это то, для чего я строю основу сайта, пока не начну думать о том, чтобы приукрасить его и добавить к нему стиль JS. Отправка через AJAX прекрасна, но может ли JS действительно быть требованием для такой основной функциональности, как отправка формы? Например, ваш браузер и устройство должны быть совместимы с JS и включены, иначе каждая форма на моем сайте вообще не работает? И, конечно же, проверка JS не означает, что проверку на стороне сервера (еще один подход в стиле IE5.5) можно игнорировать.   -  person Emphram Stavanger    schedule 24.06.2012
comment
Я, конечно, не говорю, что пользователи с включенным JS и пользователи с отключенным JS должны иметь одинаковый пользовательский интерфейс. Или даже близко к этому. Я просто говорю, что мне кажется очень глупым не сделать ваши формы доступными для отправки обычным старомодным способом. Во что бы то ни стало, добавьте отправку AJAX сверху, чтобы улучшить взаимодействие с пользователем (я делаю). Но для меня просто нет видимой причины, по которой я должен специально запретить отправку форм через HTTP в пользу AJAX.   -  person Emphram Stavanger    schedule 24.06.2012
comment
может ли JS действительно быть требованием для такой основной функциональности, как отправка формы? Почему не может? Спрошу еще раз: кто пользуется lynx? В каком году вы решите, что требуется базовая технология, разработанная после 1991 года? 2015? 2020? Вы ограничиваете себя первой спецификацией HTML? Тогда зачем ограничивать себя другими аспектами технологий той эпохи?   -  person Jamie Treworgy    schedule 26.06.2012
comment
.. что я имею против отправки форм по старинке, так это то, что после этого требуется полное обновление экрана, тратится огромное количество полосы пропускания и создается медленный, неотзывчивый пользовательский интерфейс. Это ночь и день. Это изменило сеть. Поэтому, если я хочу разработать современный веб-сайт, работающий без javascript, мне придется создать две совершенно разные версии одного и того же сайта. Я никогда не встречал никого, кто был бы готов заплатить за все дважды, чтобы поддержать кого-то, кто может даже не существовать. Также очень и очень сложно создавать сложные/составные формы по-старому.   -  person Jamie Treworgy    schedule 26.06.2012


Ответы (1)


Почему использование карт-изображений для навигации непростительно? Это такой же инструмент, как и любой другой; у него есть время и место. Использование карт изображений с улучшениями javascript обратно совместимо, изящно деградирует и имеет 100% поддержку браузера. Им не нужен плагин, такой как flash. Они поддерживаются практически с момента появления веб-браузера. То, что что-то старое, не означает, что оно бесполезно; совсем наоборот, это означает, что он хорошо поддерживается.

Я написал подключаемый модуль jquery под названием ImageMapster для добавления эффектов к картам изображений, чтобы вы могли создавать интерактивные изображения без использования флэш-памяти. Было бы легко реализовать инструмент с такой же функциональностью без поддержки Javascript, заменив его списком в таких случаях. Лично я думаю, что пытаться писать для веба без javascript — все равно, что пытаться водить машину без шин. 99% Интернета больше не работает без него. Сейчас не 1995 год. Но если вас это действительно беспокоит, то хорошая вещь в картах изображений заключается в том, что основные функции навигации все еще работают. Невозможно сделать это только с помощью CSS — даже с помощью CSS3, если у вас есть области неправильной формы.

person Jamie Treworgy    schedule 23.06.2012
comment
+1 за старое!= бесполезно. <map> по-прежнему является частью спецификация HTML5, поэтому старую нельзя использовать даже в контексте устаревший. Примечание на вашем веб-сайте: добавление счетчика (или любого индикатора загрузки страницы) улучшит взаимодействие с пользователем. В дикой природе: Упомяните, что демоверсия находится по ссылке «Резиденции». Сначала я подумал, что ссылка битая, потому что скриншот не соответствует целевой странице. - person Rob W; 24.06.2012
comment
Спасибо за ответ! Да, демонстрационная страница может долго загружаться esp. на мобильных устройствах. Я должен оптимизировать его и/или сделать, как вы говорите. Мне действительно нужно полностью пересмотреть этот сайт и очистить документы... просто не хватает часов в сутках! По ссылке в дикой природе я уже говорю это :) - person Jamie Treworgy; 24.06.2012
comment
.. на самом деле я только что понял, что у меня есть счетчик для загрузки страниц в навигации по сайту - я подозреваю, что он настолько слаб, что вы его не видели; кажется, что быстрое исправление непрозрачности поможет. - person Jamie Treworgy; 24.06.2012