miniShop2 и выключенный javascript

Василий, доброе время суток!

А работоспособность minishop'а на фронтенде при выключенном javascript'е стремится к нулю, как я понимаю?
Если так, то это никуда не годится. Обязательно надо, чтоб всё работало и без javascript'а. Я сейчас кой чего перепишу, обещаешь посмотреть (и принять)) мой пулреквест? (-:
Алексей Карташов
23 июля 2013, 01:20
modx.pro
4 032
0

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

Василий Наумкин
23 июля 2013, 05:53
0
Нет, не обещаю.

Зачем в 2013 году работоспособность без javascript?
    Алексей Карташов
    23 июля 2013, 06:18
    0
    У тебя такой процент высокий, потому посетители — разработчики. Уж у кого, но у них (нас), он всегда включён.
    Просто на публичных проектах javascript должен дополнять работоспособность, а не заменять её. Без вариантов.
    Это в каком-нибудь закрытом проекте, интранете или веб-сервисе допускается отсутствие работоспособности при выключенных скриптах.

    Да о чём ж вообще речь — это ж интернет-магазин!
    Для кого-то 5% отказов — это пара тысяч упущенной прибыли, а для кого-то пара сотен тысяч (станки, к примеру, продают).
    Владельцы интернет-магазинов борятся за каждый процент конверсии, а мы по умолчанию отсекаем некий процент аудитории. И в разных тематиках этот процент будет совершенно разным.
    Есть армия пользователи мобильников с оперой мини (я ей пользуюсь к примеру, за отсутствием альтернатив), она javascript не поддерживает, есть армия пользователей на китайских планшетах, у которых в самописных предустановленных браузерах яваскрипт как бы есть, но в то же время и нет. Ну и плюс параноики.

    Тут вообще, по-моему, вопроса такого не должно стоять. Тем более, это будет пулреквест, останется только посмотреть да потестировать.
      Василий Наумкин
      23 июля 2013, 06:50
      0
      Речь не про 5%, а про 0.5%.

      Сейчас нет десктопных браузеров с отключенным javascript. Из последнего FireFox такой переключатель вообще убрали. Если у кого-то отключен javascript — то это разработчик, которыйсам его отключил и значет, что делает. У обычных юзеров javascript всегда включен.

      Ну а из opera mini (ей кто-то пользуется?) вряд ли делают покупки и расплачивается visa.

      Присылай request, посмотрю — но это пустая трата времени, на мой скромный взгляд.

      Дальше что, отказываемся от js в личном кабинете, выкидываем ExtJS и рисуем таблицы ручками, с перезагрузкрй при каждом пуке и просмотром заказа во всплывающем окошке? Привет, 2000-ые.
        Алексей Карташов
        23 июля 2013, 07:38
        0
        Речь не про 5%, а про 0.5%.
        На цифрах — да, на деле — может быть и куда больше 5%.
        Я больше по фронтенду работаю, верстаю (css3, responsive, mobile first, все дела..), кодю на js, примерно представляю порядок цифр. Мне это в каждом проекте приходится учитывать.

        Ну а из opera mini (ей кто-то пользуется?) вряд ли делают покупки и расплачивается visa.
        10 миллионов пользователей и сама опера на 4м месте с тобой не согласны :-) Да, пользуются и достаточно много) Но дело не только в ней. Если бы страница оплаты на сайте визы не работала бы без javascript — для них это были бы колоссальные убытки. Само собой, оплатить с мобильника через их сайт вполне реально.
        Бывает так, что китайские планшеты (Одроид на 3м месте, Симба на 4м) тупо не могут обработать всю тонну javascript кода, которым напичканы все современные сайты под завязку. Да что там — одна ошибка в любом банальном jquery плагине — вуаля, не рабочий интернет-магазин, только каталог.
        Я приверженец того, чтобы всё везде работало. Просто работало. У всех. Каждый пользователь ценен (особенно в ИМ). И если мои сайты (не веб-сервисы, не закрытые проекты, а просто сайты) не выполняют свою основную функцию без скриптов — значит я это переделываю) Такой уж вот перфекционизм.

        но это пустая трата времени
        Лично я вообще не представляю, как может быть по другому) В ИМ это тем более того стоит.

        Дальше что, отказываемся от js в личном кабинете, выкидываем ExtJS и рисуем таблицы ручками, с перезагрузкрй при каждом пуке и просмотром заказа во всплывающем окошке?
        Ну вообще, на фронтенде экст я опасаюсь использовать. Этого монстра сразу как-то невзлюбил. Но без скриптов и неработающего кабинета сделать покупку можно, а вот без скриптов и неработающего магазина — нельзя :-)

        Привет, 2000-ые.
        Сейчас тенденция такая — с эрой мобильников и планшетов под них надо делать сайт как в 2000, а затем наращивать функционала и рюшечек для десктопов. И чтобы всё у всех работало. Это и называется «mobile first». Сперва 2000, потом современность. Приходится выкручиваться, куда ж деваться)
          Василий Наумкин
          23 июля 2013, 08:17
          0
          Удачи.
            Алексей Карташов
            23 июля 2013, 08:31
            0
            Чувствуется скепсис :-)
            Всё нормально будет, я надеюсь)
              Василий Наумкин
              23 июля 2013, 08:39
              0
              На досуге, если не трудно, покажи данные какой-нибудь метрики, где людей без javascript будет не менее 5%.

              Просто интересно, где такое бывает?
                Алексей Карташов
                24 июля 2013, 22:53
                0
                Да здесь не суть каков процент пользователей с отключенным javascript (далее ПБJS).
                Интернет-магазин — не информационный ресурс (в основном), важен каждый посетитель и важны другие метрики — отказы и конверт.
                Математика простая:
                Если ПБJS (как, например, вот здесь) не может выполнить целевое действие на сайте — он уходит. Отказы у ПБJS стремятся к 100%. В нашем случае — ровно 100%, потому что ПБJS купить ничего не сможет.

                У каждого ИМ показатели индивидуальны.
                Но предположим, что у некоего ИМ среднесуточная посещаемость — 1000 человек, ПБJS — 3% от общей аудитории, конверт — 20%, средний чек — 1500 рублей.

                Получается (1000/100*3) /100*20 * 1500 = 9000 рублей недополученной прибыли в месяц или 108 000 рублей в год! И это тупо на пользователях с отключенным javascript'ом, которых мы по умолчанию отсекаем! Стоит ли говорить, что это как-то не правильно?

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

                Как-то так.
                  Василий Наумкин
                  24 июля 2013, 23:22
                  0
                  Да что за бред?

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

                  Ушел этот поезд, очень дано. Это тоже самое, что в мерседесе возить канистру с бензином — а вдруг заправки закончатся? Ну или поддерживать IE6.

                  Я уже сказал — присылай коммит, я поржу посмотрю. MS2 работает js-only, все на это рассчитано.
                    Алексей Карташов
                    28 июля 2013, 02:32
                    0
                    p.s. рано слишком отправил, промахнулся…
                      Алексей Карташов
                      31 июля 2013, 23:15
                      0
                      В общем запуллреквестил.

                      Да что за бред?
                      Вот не ожидал таких слов услышать) Это не бред, а чистая математика и живые деньги =)
                        Василий Наумкин
                        31 июля 2013, 23:29
                        0
                        Как насчет поддержки браузера lynx? Работать будет? Ведь многие админы с отключенным js и картинками работают в нем — а это живые деньги!

                        А если без шуток, выглядит любопытно, посмотрю. Только это все минимум для версии 2.1 — очень много изменений.
                        Василий Наумкин
                        31 июля 2013, 23:39
                        0
                        Смотрю коммит и возник вопрос: ты замерял скорость ajax запросов при использовании action.php и своего плагина?

                        На первом MS мы выяснили уже, что если обращаться к сниппету на странице, то скорость примерно в 2 раз ниже. А тут как?
                        Алексей Карташов
                        01 августа 2013, 09:29
                        0
                        Нет, не замерял.
                        Но, технически, будет даже быстрее (пусть и не заметно для глаза) или разницы просто не будет. Ведь запросы обрабатываются не в сниппете, а в плагине на onHandleRequest.

                        Когда запросы шли через action.php, запускался index.php, в котором инициализируется modX, контекст и запускается $modx->handleRequest(). Код miniShop'а начинал свою работу после полной отработки modX::handleRequest(),

                        А когда всё работает через плагин, то код miniShop'а вступает в действие уже вот здесь, когда modX::handleRequest() запускает событие onHandleRequest, т.е. miniShop2 начинает обработку запроса раньше, чем это было через action.php :-)
                        Василий Наумкин
                        01 августа 2013, 09:56
                        0
                        Контекст инициализируется не просто так. Более того, ключ контекста даже пишется в заказ, ибо у контекстов могут быть свои настройки, например, языковые.

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

                        В общем, тестировать и тестировать твои изменения.
                        Алексей Карташов
                        01 августа 2013, 10:04
                        0
                        Контекст инициализируется не просто так
                        Так это понятно. Поэтому он и в плагине переинициализируется при необходимости.
                        А в скриптах всегда подставляется контекст.

                        Всё, что было в action.php — всё перенесено в плагин (ну за исключением подключения index.php). С такими вещами я больше всего боялся накосячить и поэтому отнесся к ним с бОльшим вниманием =)
                        Василий Наумкин
                        01 августа 2013, 10:05
                        0
                        Это радует!

                        Изменение очень серьезные, быстро обработать не обещаю. Но добавлять буду, ибо прикольно.

                        Спасибо за коммит!
                        Алексей Карташов
                        01 августа 2013, 10:10
                        0
                        Это тебе спасибо за лестный отзыв! =)
      Maxim M
      24 июля 2013, 22:23
      0
      Например у меня немного другая ситуация — особые настройки безопасности в организации, ИЕ 8.0. И больше с работы в интернет никак не выйти, по другое не поставить. Прикладываю скрины, на которых можно увидеть, что происходит например с магазином Симпл Дрим (обведенные ссылки не работают никак) и админкой минишопа 2. Да и покомментить тут не выйдет, ибо ссылка бьется.
      Кстати должен сказать, что фронт демосайта минишопа с фильтрами и тп работает и фильтрует.

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

        Алексей Карташов
        24 июля 2013, 22:33
        0
        Именно! Хоть кто-то поддержал :-)
          Maxim M
          24 июля 2013, 22:55
          0
          Надеюсь, Василий рассмотрит аргумент)
          Василий Наумкин
          24 июля 2013, 23:23
          0
          особые настройки безопасности в организации
          ИЕ 8.0
          Это оксюморон. Могу только посочувствовать.
            Maxim M
            24 июля 2013, 23:33
            0
            =) трафик фильтруется хорошо, поэтому не настолько оксюморон. Но это десятки тысяч сотрудников, которые по всей России каждый день проводят 8-12 часов в этом самом ИЕ. И таких мест больше, чем кажется. В целом это я просто к сведению, чтобы масштаб проблемы донести.
            Но конкретно в данном случае, можно сохранить и статус-кво, т.к. «из коробки» в минишопе все работает, а уж стили и дальнейшая кастомизация должна проводиться аккуратно.
              Василий Наумкин
              24 июля 2013, 23:40
              0
              И вы там, на работе, шаритесь по инет-магазинам, без javascript? Не взирая на суровую политику безопасности?

              То тут про паралитиков с opera mini говорили, теперь про госслужащих с IE8 через прокси. Может, о нормальных покупателях подумаем — как им сделать удобно? Ну, верстка там, юзабилити.

              Ради 0.5%, или даже 5% обездоленных, я не хочу жертвовать функционалом всех остальных.

              Эту бы энергию, да в мирное русло.
                Александр Мелихов
                25 июля 2013, 15:56
                0
                К сожалению, на деле, за великую идею совместимости всего и вся готовы бороться лишь написанием очередных постов на форумах, а глянешь на проекты — пара тройка костылей, от которых дыр больше, чем совместимости, а когда за проблемой в одной среде едут еще три в других, то руки обычно опускаются, а мозг забывает об этих случаях, чтобы не травмировать владельца, отстаивающего позицию в очередной ветке.
        Александр Мелихов
        23 июля 2013, 15:50
        0
        Если у меня в руках телефон 2000 года выпуска с оперой мини, то я понимаю, что совершить покупку в интернет магазине мне с него не удастся. Поэтому я открою в опере мини этот интернет-магазин, посмотрю в шапке телефон, который, как ни странно, отображают даже китайские планшеты, ну и не поленюсь поднести к уху чудо инженерной мысли и сделать заказ на пару сотен тысяч по телефону, не боясь, что какой-то невообразимо ленивый разработчик не соизволил ввести поддержку всего и вся без использования монструозных языков программирования, уступающих по всем параметрам юзабилити и совместимости славному ассемблеру.
          Алексей Карташов
          23 июля 2013, 18:36
          0
          Молодец какой.
            Виталий Князь
            24 июля 2013, 09:06
            0
            У меня телефон без возможности выхода в интернет, телефон 2012 года, я так понимаю что совершить покупку в интернет-магазине мне с него не удастся? :(
            Лебедев Андрей
            24 июля 2013, 11:03
            0
            На мой личный взгляд Алексей Карташов прав!
            Сейчас у большинства включен javascript, но что будет потом не кто не знает!
            Вполне возможна и ситуация когда большинство отключит javascript (будет какая нибудь паника в инете и так далее)
            Конечно потом думаю все равно включат, но осадочек останется.
              Aliaksandr Katlou
              24 июля 2013, 11:34
              0
              Что-то я за 20 лет в интеренете ни одного приступа панического отключения яваскрипта людскими массами не припомню.
                Лебедев Андрей
                25 июля 2013, 14:42
                0
                Так много чего в первый раз бывает.
                И когда интернет магазин продолжает работать с отключенным javascript лучше чем не работает.
                Александр Мелихов
                24 июля 2013, 22:08
                0
                А еще может ядерная война начнется, люди совсем интернет отключат, вот паника то будет! сори за флейм
                  Виталий
                  25 июля 2013, 12:23
                  0
                  «Вполне возможна и ситуация когда большинство отключит javascript (будет какая нибудь паника в инете и так далее)»
                  убил, не могу)
                Алексей
                24 июля 2013, 21:01
                0
                ребят, даже яндекс маркет не работают без явы
                  Алексей Карташов
                  24 июля 2013, 22:09
                  0
                  Это откуда такая уверенность? Поставь какой-нибудь noscript и погуляй по маркету — всё прекрасно работает. Даже без видимых изменений.
                    Алексей
                    25 июля 2013, 12:02
                    0
                    github.com/maximelebreton/quick-javascript-switcher
                    поиск по параметрам не работает
                      Алексей Карташов
                      27 июля 2013, 06:11
                      0
                      Дык фильтры — это по сути приблуда. Основная функция маркета прекрасно работает — пользователь может найти товар (не подобрать, а именно найти или поискать в общем списке), посмотреть фотографии, характеристики, отзывы, а самое главное — перейти на сайт рекламодателя.
                      И яндексу дальше уже абсолютно пофигу — будет ли работать сайт рекламодателя или нет. Он свою работу выполнил, коммиссию за клики получил. А вот если целевой ИМ у юзера не заработал — то это проблема магазина с его недополученной (упущенной) прибылью.
                  Мордынский Николай
                  25 июля 2013, 17:36
                  0
                  Сам больше SEO занимаюсь чем разработкой. Но крапать кучу кода или верстки из — за дурака который сидит на 7 эксплоеере или маньяке с отключеной явой перебор. От не которых клиентов по опыту легче отказатся чем иметь с ними дело.

                  А станки как говорилось всеравно никто по интернету заказывать небудит товар специтфичный максимум что каталог нужен и все
                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    39