Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Настройки javascript у клиента


Автор: Zamuta 13.3.2007, 20:23
Привет...

Вопрос конечно не напрямую к j2ee, но с этой веткой он пересекается однозначно...

Стоит ли задумываться при создании проектов о том, включен ли javascript у клиента (в браузере)? Так как, например, если нет, то работать всё будет несколько иначе... 

Какой вообще процент пользователей отключает javascript в броузере?

Автор: y3u 13.3.2007, 20:38
конечно стОит, тем более это проверяется элементарно smile
Другой вопрос, что сейчас появились всякие попап блокеры, которые могут резать window.open() и пр, скрипты, открывающие окна или попапы

ПыСы
не знаю ни одного человека, у кого бы был выключен жабаскрипт

Автор: Maksym 13.3.2007, 20:45
Zamuta
Google об этом не задумывается (gmail)..

Автор: Vasay 14.3.2007, 01:27
Цитата(Maksym @ 13.3.2007,  20:45)
Zamuta
Google об этом не задумывается (gmail)..

Да гугл об этом не задумывается, а вот нам о Гугле стоит задуматься - JavaScript он пока не индексирует...

Мое мнение:

1. Сайт должен полностью функционировать с выключенным JavaScript - вы уверены, что ваши посетители не захотят зайти к вам с мобильных устройст, у которых могут быть проблемы с JS?

2. Когда вы что-то пишите на JS помните, что не все пользуются MS IE и проверяйте, работает ли то что вы написали в других браузерах (иногда приходится писать 2 js для мс и для мозилы)

3. Не увлекайтесь CSS - он развивается быстрее чем люди меняют браузеры. Ваш сайт не должен рассыпаться в браузере без поддерки CSS.

4. Если вы хотите иметь нестандартный и сложный интерфейс на сайте (flash, ajax), сделайте версию для случая с отключенным js, flash и поисковых ботов.* 

5. Не стоит использовать flash там где можно обойтись простой картинкой (на то есть много причин).  

6. Не используйте звук на сайтах (правило хорошего тона)

Если вы расчитываете на посетителей с поисковых машин то  помните - поисковые боты не ходят по ссылкам на JS, они не видят текст выводимый с помощью JS (AJAX - ф топку!!!), они плохо понимают frame и iframe 

* к 4 - лучше так не делать, это плохо для поисковиков (дублирование контента, проблемы с сылочным ранжированием) - лучше иметь одну страницу вункционирующию при отключенном JS.

p.s. Это был крик души человека занимающегося СЕО и пользователя firefox в linux

Автор: GZep 14.3.2007, 01:55
практически не один браузер не блокирует попапы, если они вызваны юзером(например, это щелчок по кнопке,открывающий попап).

Автор: Maksym 14.3.2007, 14:24
Vasay
Зависит от целей проекта. Взгляд на верстку страниц и наполение их интерактивными элементами с точки зрения CEO и с точки зрения создания userfriendly interface -- часто прямо противоречат друг другу. На сегодняшний день создание удобного, достаточно легкого, кроссбраузерного интерфейса без активного использования JS -- случай очень редкий. Точно так же как и реализация skinable интерфеса без css...
По поводу CEO -- конечно согласен, если нужна оптимизация под роботов, то ничего лучше чистого html c четким следованием спецификации -- нет.

Автор: Vasay 14.3.2007, 17:44
Цитата(Maksym @ 14.3.2007,  14:24)
Vasay
Зависит от целей проекта. Взгляд на верстку страниц и наполение их интерактивными элементами с точки зрения CEO и с точки зрения создания userfriendly interface -- часто прямо противоречат друг другу. На сегодняшний день создание удобного, достаточно легкого, кроссбраузерного интерфейса без активного использования JS -- случай очень редкий. Точно так же как и реализация skinable интерфеса без css...
По поводу CEO -- конечно согласен, если нужна оптимизация под роботов, то ничего лучше чистого html c четким следованием спецификации -- нет.

Ну я не говорю что не нужно использовать JS, я говорю что сайт без негго должен быть полностью доступен. (к сожалению часто встречаешь очень серьезные проекты, которые не то что без js не работают, а не работают нигде кроме последних версий ie).

Также  я не говорю, что css это плохо, я говорю, что неплохо бы было смотреть какие свойства каим браузером поддерживаются и не применять, того что только что появилось.
Кстати Google очень положительно относится к CSS на странице.

p.s. конечно, когда речь идет о веб-панеле управления, к которой будет иметь доступ ограниченное число людей, то можно просто задать требования к браузеру.

Автор: Maksym 14.3.2007, 18:14
Vasay
Ну я о том же..  smile 

Автор: Zamuta 14.3.2007, 18:19
Это всё конечно понятно. Опустим поисковики и ajax. А как насчёт, например, валидации вводимых данных на js при регистрации пользователя? Достаточно частая ситуация. Есть конечно, например у jsf свой механизм валидации на стороне клиента. А можно и вообще на стороне сервере делать валидацию, что не есть хорошо. Как быть тогда? Проверять включен ли js? 

P.S. Валидация - как один примеров.

Автор: Vasay 14.3.2007, 18:47
Цитата(Zamuta @ 14.3.2007,  18:19)
Это всё конечно понятно. Опустим поисковики и ajax. А как насчёт, например, валидации вводимых данных на js при регистрации пользователя? Достаточно частая ситуация. Есть конечно, например у jsf свой механизм валидации на стороне клиента. А можно и вообще на стороне сервере делать валидацию, что не есть хорошо. Как быть тогда? Проверять включен ли js? 

P.S. Валидация - как один примеров.

Здесь то все очень просто.

Недавно приводил пример:
Код

<script>
function test(forma)
{
    if(forma.pass1.value!=forma.pass2.value)
    {
        alert("неверный пароль");
        return false;
    }
    else
    {
        return true;
    }
}
</script>
<FORM action="test.jsp" method="POST" name="testform" onsubmit="return test(this);" enctype="multipart/form-data">
  <INPUT type="password" name="pass1"><br> 
  <INPUT type="password" name="pass2"><br>
  <INPUT type="submit" value="Зарегистрироваться" title="Зарегистрироваться">
</FORM


Данный код будет работать и при выключенном JS, только валидации конечно не приизойдет....

p.s. Валидация на стороне клиента делается только для удобства клиента, и ее обязательн нужно повторить на стороне сервера. А то есть шанс обнаружить в базе все что угодно  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)