Скрываем ссылки на внешний сайты c помощью js
Простой jQuery скрипт для замены span[data-href] на a[href].
$('.make-link').replaceWith(function(){ link = document.createElement('a'); $.each( $(this).prop("attributes"), function() { if (this.name !== 'data-href') { $(link).attr(this.name, this.value); } }); $(link) .attr('href', $(this).data('href')) .html($(this).html()) .removeClass('hidden-link-class'); return link; });
Остается пройтись о внешним ссылкам и заменить их на span блоки.
<a href="https://blog.budagov.ru">ссылка</a>
нужно поменять на
<span class="make-link" data-href="https://blog.budagov.ru">ссылка</span>
Так же классу make-link можно добавить все стили ссылок, для того что бы замена была менее заметна.
События выполнения ajax запросов. На них можно повесить замену ссылок.
BX.addCustomEvent('onAjaxSuccess', function(){ replaceLink(); }); $(document).ajaxComplete(function(event, xhr, settings) { replaceLink(); });
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.