<rmcreative>

RSS

Safari и popup-ы

30 августа 2009

В Safari 3 и 4 имеется встроенный блокиратор popup-ов, который несколько отличается от всех остальных браузеров и запросто может попортить жизнь первый раз сталкивающегося с этим разработчика.

Отключаем блокиратор попапов. Делается из меню. Пункт называется «Block popup windows». В 3-м он расположен в меню «Edit», в 4-м — в меню настроек. Если всё заработало — это наш случай. Включаем блокиратор обратно.

Правила, по которым работает блокиратор:

  • Пользователь щёлкнул по ссылке или кнопке, которая вызывает функцию A(). Функция непосредственно в теле выполняет window.open → попап блокирован не будет.

  • Пользователь щёлкнул по ссылке или кнопке, которая вызывает функцию A(). A() вызывает другую функцию B(), которая уже выполняет window.open → попап будет блокирован.

  • window.open вызывается по событию, не связанному с действиями пользователя (например, onload) → попап будет блокирован.

Итого, решение:

  • Повесить открытие попапа на действие пользователя.

  • Выполнять window.open непосредственно в функции, повешенной на это действие.

Комментарии RSS

  1. №1826
    Karsonito
    Karsonito 31 авг. 2009 г., 22:36:35

    Хороший совет. Буду иметь в виду.

    А ведь с некоторыми библиотеками наверняка будут проблемы.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.