:-)
  • JS 20.12.2008

    modal_logoРанее я уже писал о хорошем и простом плагине для создания модальных окошек на jQuery. Эта запись стала довольно популярной и многие люди находят ее в поисковиках. С тех пор вышла уже новая версия jQuery SimpleModal 1.2.2. Я списывался с автором Эриком Мартином и он попросил меня проверить, все ли исправлено. Давайте этим и займемся.

    Fail #1

    Первое, что мы видим - отсутствие обратной совместимости =(.  То есть, если в старые проекты мы скопируем новую библиотеку, то начнутся проблемы. Во-первых мы не увидим наши стили. Эрик переименовал дефолтные id у элементов. Теперь id оверлея у нас 'simplemodal-overlay', id контейнера - 'simplemodal-container', а кнопки 'simplemodal-close'. С одной стороны хорошо, приводится в порядок список id, не будет путаницы с другими плагинами для модальных окон, с другой сейчас начинаются проблемы у тех, кто не разобрался как обновить старые скрипты. На сайте, автор приводит способ, как обеспечить совместимость со старыми css:

    $.extend($.modal.defaults, {
      closeClass: "modalClose",
      overlayId: "modalOverlay",
      containerId: "modalContainer"
    });

    Ладно, будем считать разобрались, настроили стили. Запускаем самый простенький тест, взятый из моего прошлого поста про SimpleModal и...

    Fail #2

    fail2 Бум! Нажал на кнопочку ОК и получил дырку в оверлее. Тут надо заметить, что я убрал вспомогательный <div>, который использовал в первый раз. По-видимому без него все-таки не обойтись. В итоге <div> вернул, дырок больше не получаю. Надо заметить, что подобным страдает только Опера (у меня 9.63). Firefox 3, Chrome 1.0.154 и IE7 показали себя с лучшей стороны. Насколько я понял, автор пытался решить эту проблему для Оперы, но по-видимому в 9.63 что-то изменилось и его старания оказались напрасны.

    Success #1

    А вот и первая удача в новой версии. Теперь нам не надо приклеивать плагин Dimensions. Окно позиционируется по центру совершенно самостоятельно. Это очень радует, я пробовал играть с размерами окна и оно всегда было по центру. Одно только замечание. Нельзя давать модальному окну быть больше, чем размер окна браузера. Или хотя бы кнопку для закрытия не уносить. А то сделал я окно высотой в 1000 пикселей, а экран на ноутбуке у меня 800 пикселей высотой. Вот вам и задача, как закрыть модальное окно? В опере я спасаюсь табом, чтобы перейти на кнопку OK, которая присутствует в моих диалоговых окнах и проблел или enter, чтобы закрыть. Не каждый догадается на самом деле.

    Итого что мы имеем

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

    А еще я писал про:

    1. Пишем плагин для jQuery. Простая валидация форм.
    2. Простое модальное окно на jQuery
    3. Модальное окно на jQuery blockUI

    Tags: , ,

  • Comments are closed.