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

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