Ссылки и режим ajax в компонентах

Опубликовано 11 Июл 2010

Разработчики 1с-Битрикс максимально упростили использование режима ajax в своем продукте – все подходящие элементы (ссылки, кнопки форм и т.д) в шаблоне компонента автоматически дополняются javascript-обработчиками. Иногда же возникает необходимость «отменить» ajax для какой-либо ссылки. Сейчас я рассмотрю несколько способов, как такое можно реализовать.

Переход по ссылке будет осуществлен без технологии ajax, если выполнено одно из условий:

1. Наличие внутри тега <a> атрибутов «onclick» и «target». Отмечу, что target для ссылок делает невалидным документ в doctype strict

2. Если содержимое атрибута «href» начинается с:
- символа #, т.е. является якорем
- mailto: – является адресом e-mail
- javascript: – является скриптом или его вызовом

3. Ссылка содержит символы :// – подойдет любая абсолютная ссылка

4. Ссылка ведет на страницу, отличную от страницы вызова компонента. Правило действует с учетом ЧПУ. Например, если в разделе /news/ лежит комплексный новостной компонент, настроенный на ЧПУ с кодами секций и элементов, то любая ссылка /news/word1/word2/ будет обрабатываться в режиме ajax, т.к. «реальный» адрес страницы – /news/index.php?..

Информация почерпнута из исходных кодов файла component_ajax.php. Найти его можно в каталоге /bitrix/modules/main/classes/general/

Похожие записи

Если вам понравилась статья, подписывайтесь на обновления блога по rss или присоединяйтесь в twitter

Поделиться ссылкой с друзьями:

Метки: , ,

Категории: Bitrix

Комментарии (1)

  1. Владимир:

    Алексей, вы бы привели примеры с работающими компонентами.
    Например интересует компонент регистрация или авторизация. С аякс уведомлениями о заполнености полей и аякс уведомлением об успешной регистрации.

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