Разработчики 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/
Больше статей и материалов по web-разработке в tg-канале - подписывайтесь!
Подписаться в telegram
Алексей, вы бы привели примеры с работающими компонентами.
Например интересует компонент регистрация или авторизация. С аякс уведомлениями о заполнености полей и аякс уведомлением об успешной регистрации.
http://tuning-soft.ru/articles/bitrix/the-authorization-form-and-registration-bitrix-jquery-ajax-part-2.html