Pull to refresh

NTP в браузере Google Chrome v.26.0.1410.64 m

Обращение


Доброго дня, уважаемые хабражители! Мой пост не претендует на то, чтобы прочитав его вы приняли все ниже описанное как руководство к действию, он лишь направлен на небольшое замечание в работе Google Chrome v.26.0.1410.64 m, которое мне изрядно попортило нервы.

История


Работаю я не так давно по специальности веб-программист и, наверное, не успел ещё повидать всех возможностей существующих браузеров, но то что выяснил недавно мягко говоря меня очень удивило. Есть у меня на работе небольшое он-лайн приложение для клиентов компании, там располагается собранная по каталогам информация на абсолютно разные темы (юмор, спорт, статьи и т.д. и т.п.). И все во всех браузерах работало, все было отлично, я был счастлив — клиенты довольны. Решил я 2 дня назад добавить несколько статей в он-лайн приложение и наткнулся на очень удивительную вещь: захожу я в приложение --> прохожу систему залогинивания --> и попадаю на главную страницу приложения. Все отлично, все хорошо. Но как только в меню я нажимаю на какую-нибудь категорию статей для того, чтобы посмотреть и список, меня неожиданно выкидывает на новую страницу в браузере. Напомню, версия Chrome v.26.0.1410.64 m. Я был в не себя от шока, когда увидел что в остальных браузерах (Firefox, Opera, и даже IE9) все работает безупречно, т.е. я перехожу в ту категорию, которую выбираю, при клике на ссылку со статьей я просматриваю именно ту(!!!) статью, которую выбрал. Почему же в предыдущих версиях Chrome все работало?.. Порядка 7 минут я еще глупо и безосновательно щелкал по ссылкам в Chrome и меня все так же выбрасывало на новую страницу.

Поиск причины проблемы


Причину искать нужно было незамедлительно, так как люди в приложение все же заходят и используют не всегда Firefox, Opera или IE.

Вариант 1
«Точно где-то спрятался редирект» — сказал я себе, но тут же отбросил мысль. Был бы редирект — вылетало бы во всех браузерах.

Вариант 2
«Что-то не нравится браузеру в параметрах ссылки» — сказал мне Большой программист (мой коллега) и мы вместе начали поиски. Просмотрев исходный код нескольких файлов, мы пришли к выводу, что браузеру Google Chrome параметр под названием ntp, с помощью которого передавался номер статьи.

Устранение проблемы


Ничего другого придумать не смогли, кроме как переименовать параметр ntp в division. Не смейтесь пожалуйста, название выбирали исходя из фантазии. И але ап вот все работает в Chrome v.26.0.1410.64 m. Что ж за беда то такая?! Почему браузеру не нравится название моей переменной? Ответов я так и не нашел. Но обсудив это с коллегой мы пришли к выводу, что в v.26.0.1410.64 m браузера Chrome данная переменная зарезервирована. А проверили следующим образом: в адресную строку браузера поместили http://ya.ru и нажали Enter. Яндекс поприветствовал нас поисковой строкой. Далее в адресную строку поместили http://ya.ru?ntp и увидели то, что и ожидалось. Перед нами предстала Новая вкладка. А это уже может подтвердить, что Chrome не воспринимает название ntp как название пользовательской переменной.

К чему это все было сказано


Я просто хотел предостеречь веб-разработчиков, да и всех кто хоть раз в жизни столкнется с передачей параметров в адресной строке, не называйте переменную ntp, дабы не ломать потом голову, что случилось с Chrom'ом, почему не работают ссылки, скорее всего в браузере зарезервирована переменная ntp для открытия новой вкладки. Придумайте другое название для своей переменной, фантазия — она безгранична.

Спасибо за внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.