Javascript.RU

Об ошибках, которые вовсе не ошибки.

Недавно пришлось ловить два странных бага.

Первый заключался в том, что комменты, отправленные из Оперы ajax'ом, удваивались и даже учетверялись. Причем из Оперы и только из Оперы.
Отчаявшись понять, в чем же проблема, я решил посмотреть, а каков же нормальный ход вещей, и поглядел отладочный вывод в FireBug.
К моему изумлению, FF тоже отправлял на сервер по два коммента. Просто по неким причинам не отображал эти дубли.

Мораль: Не факт, что баг, заявленный тестировщиком (ох уж эти тестировщики) как Opera/FF/IE-специфик, действительно таковым является. Возможно, что глючат как раз остальные два браузера и скрывают ошибку в логике.
Мораль 2.0: Удаляете ноду -- удаляйте события и хэндлеры, особенно кастомные.

Второй баг родился в результате длительной переработки некоего, скажем, контрола с целью повышения функциональности и code-reuse.
После переписывания функции init(), контрол отказался работать в IE6. Причем только в IE6.
Ошибка была крайне странной:

init: function(element, params) {
  //иницируем некоторые переменные
  this.control = element
  ...
}

Дальше по коду IE клялся и бил себя пяткой в грудь, что this.control равняется undefined и работать с этим никак нельзя.
Полтора рабочих дня было потрачено на медитацию, прежде чем случайный взгляд на тот же самый файл во время отладки в MS Visual Web Developer Express открыл мне, что в результате какого-то сбоя моего Notepad++, перенос строки после комментария отсутствует. То есть в файле стоит не виндовый перенос строки, а, наверное, юниксовый (не посмотрел).

Мораль: Не факт, что баг, смотрящийся как изьян в логике, таковым является. Капризы браузеров -- вещь непредсказуемая.
Мораль 2.0: IE6 -- ночной кошмар веб-разработчика.

0

Автор: Руслан (не зарегистрирован), дата: 31 мая, 2008 - 22:43
#permalink

Русские комментарии для ИЕ6 - это почти 100% смерть работоспособности скрипта, вот в чем грабля была


Автор: hogart, дата: 9 июня, 2008 - 15:06
#permalink

Ну прям уж 100%. Ни разу не сталкивался.


Автор: Гость (не зарегистрирован), дата: 12 июля, 2011 - 02:20
#permalink

Пол дня убил чтоб понять что не так в скрипте. Подтверждаю бага с русскими комментами есть 1000% в IE6


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

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
17 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Другие записи этого автора
hogart
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние комментарии
Последние темы на форуме
Forum