Loading...
JavaScript | Ajax загрузка страниц
Всем вечер добрый Гг Решил сделать динамическую загрузку страниц без перезагрузки браузера. Все работает отлично, скрипт взял тут. Но есть несколько но : 1. Теперь не скачивает файлы 2. Спойлер работает не корректно, как только открываешь он мгновенно закрывается. Как исключить некоторые ссылки, чтобы ajax на них не влиял?)
javascript
   function change_ajax(link){ $('#load').html('<img src="/load.gif" style="position: fixed; top: 25%; left: 50%;transform: translateX(-50 %) ; text-align: center; background: rgba(50,50,50,0.5); padding: 5px;">');   $.post (link, {'load_ajax' : null}, function (data){ var data = $(data); var elem = data.find('#content').html(); $("#content").html(elem); document.body.scrollTop = 0; document.documentElement.scrollTop = 0; $('#load').html(''); } ); }  if (history.pushState){ $(window).on('popstate', function(event){     var loc = event.location || ( event.originalEvent && event.originalEvent.location ) || document.location; change_ajax(loc.href); });   $(document).on('click', 'a[load != "none"]', function(e){ var link = $(this).attr('href'); if (link != null){ change_ajax(link); var titl = $('div[title]').text(); document.title = titl; history.pushState(link, titl, link); e.preventDefault(); } });    }   
javascript
   $(document).on('click', 'a:not([load="none"]):not(a[target="_blank"])', function(e) {});   
И для a поставить тег load="none"
html
   <a href="#" load="none">LINK</a>   
Ещё нужно проверять на target="_blank"
А вообще есть библиотека PJax
https://github.com/defunkt/jquery-pjax
mrcatoff (03.11.2021 в 19:41)
javascript
   $(document).on('click', 'a:not([load="none"]):not(a[target="_blank"])', function(e) {});   
И для a поставить тег load="none"
html
   <a href="#" load="none">LINK</a>   
Ещё нужно проверять на target="_blank"
Большое спасибо) а зачем проверять на target="_blank"
Hryhorii_Ivlev , target="_blank" это открыть ссылку в новом окне, и для таких ссылок не нужно ставить ajax
mrcatoff (04.11.2021 в 00:02)
Hryhorii_Ivlev , target="_blank" это открыть ссылку в новом окне, и для таких ссылок не нужно ставить ajax

Спасибо)
Онлайн: 3
Время:
Gen. 0.0982
(c) Bym.Guru 2010-2026