0

Забудьте про javascript alert! Все сообщения пользователю должны быть оформлены в соответствии с темой оформления вашего сайта. Никаких системных окон. Пользователи их боятся.

Исправляем ошибку "AJAX запрос завершен неправильно" в Drupal.

В друпал 7 есть замечательный AJAX Framework. Но разработчики сделали, что все ошибки в его работе (а они могут случиться на ровном месте), вываливаются на пользователя в виде javascript alert окна.

На английском это сообщение выглядит так:

An AJAX HTTP request terminated abnormally.
Debugging information follows.
Path: /system/ajax
StatusText:
ResponseText:
ReadyState: 4

Такая ошибка часто появляется, когда ajax запрос еще продолжается (сервер делает какую-нить долгую работу), крутится индикатор работы, а пользователь нажал на ссылку на странице, чтобы с нее уйти.

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

Именно поэтому, мы все алерты будем выводить в консоль браузера (если она есть).

Для этого в любой javascript файл (например в нашей drupal теме или в собственном модуле) добавляем следующую строчку:

window.alert = function(arg) { if (window.console && console.log) { console.log(arg);}};

Этим мы переопределяем javascript функцию alert и говорим ей, что вместо создания окна с кнопкой, нужно все писать в консоль.

Оставить комментарий