Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Подскажите толковый скрипт или хак для Ajax навигации по сайту DLE 11.1?

Подскажите толковый скрипт или хак для Ajax навигации по сайту DLE 11.1?


     01.10.2017    Общие вопросы по вёрстке, jQuery, Общие вопросы по PHP, Хаки, Ламерские вопросы    2128

вопрос
Ребят попробовал много разных вариантов для сайта чтобы переход по страницам был на ajax технологиях (очень надо,есть аудиоплеер на сайте, хочется чтобы играх при переходах, да и вообще облегчить сам сайт значительно)

пробовал несколько вариантов:
Pjax - работает вопросов почти нет, но при переходе по страницам не всегда срабатывает тег {AJAX} беда становится заметной только когда добавляешь новости с сайта - не срабатывают загрузчики файлов и фото, еще не рабтает навигация в категориях (перекидывает на туже первую страницу) а в остальном кулл для простых сайтов самое то! хоть и старый плагин...

Turbolinks - в принципе тоже все работает, но для меня дремучей лес по его настройкам так и не разобрался - проблема при переходе по страницам сбрасываются как то криво стили css и буквально сек на 30 очень не красиво выглядит.

Ну и пробовал установить хак AJAX навигация в DLE но тоже увы без успешно он даже не сработал((( может кто подскажит еще какие нить способы есть дли заставить работать на ajax - ведь он уже есть тут только применить бы его ко всему сайту навигации DLE 11.1

Ответа пока нет


22 комментария

maks
Юзер

maks - 1 октября 2017 23:53 -

У меня от n0wheremany отлично работает, другие даже не пробовал. Тоже сайт с музыкой. На 10.1 устанавливал.

Ivan Kharlov
Юзер

Ivan Kharlov - 1 октября 2017 23:57 -

DLE 11.?? можешь подскажешь там вроде не сложная установка, я все поставил а рекации нуль. не срабатывает, думаю может скриптами какиме то пережимаю

maks
Юзер

maks - 2 октября 2017 00:05 -

Там установка не сложная, настройка куда сложнее. На офф сайте все написано, все настройки есть. Jquery обязательно в head подключай, а остальные типа куки и ТПможно внизу. Должно работать

maks
Юзер

maks - 2 октября 2017 00:06 -

У меня на 10.1 работает, написал же.

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 00:07 -

сорри чет не заметил вначале ну попробую поподробнее почитать там еще раз попробую

maks
Юзер

maks - 2 октября 2017 00:07 -

Php 5.4

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 00:11 -

а у нас разница в том что в 11 версии все основное вынесено в /engine/modules/main.php а в 10 в index.php все
да у меня 5.4 PHP

maks
Юзер

maks - 2 октября 2017 00:13 -

разницы наверное нет

maks
Юзер

maks - 2 октября 2017 00:09 -

На других php чет не хотела работать

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 00:14 -

Jquery какой нужен??? у меня честно все отключено библиотеки все в системных скриптах

maks
Юзер

maks - 2 октября 2017 00:16 -

jQuery v1.8.3

Heavy1
Юзер

Heavy1 - 2 октября 2017 00:46 -

полноценно рабочий скрипт ajax навигации для dle отсутствует. советую перейти на wordpress и установить любой плагин infinite scroll

maks
Юзер

maks - 2 октября 2017 00:52 -

Тебе, что приплачивают за рекламу вордпреса что ли? Угомонись уже, сколько можно.

redissx
Юзер

redissx - 2 октября 2017 14:02 -

А на ДЛЕ инфинит скролл не встанет? )

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 00:54 -

Heavy1,
Я честно, говоря ушел с ворпреса на DLE и дико рад этому тут все проще и удобнее хоть самому придуывай да индексация сайта просто впечатляет меня! так тож уж я лучше поплачу и без айкса обойдусь чем на вордпрес вернусь

Heavy1
Юзер

Heavy1 - 2 октября 2017 01:08 -

Ivan Kharlov, Опираясь на твою логику, можно смело заявить, что Yoast сосет по функционалу у сео модулей от алаича

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 13:56 -

ну мы тут вроде не яйцами мериться собрались какой cms лучше, а искать ответ на вопрос вполне понятный я думаю)

redissx
Юзер

redissx - 2 октября 2017 14:00 -

апдейт. извините, не то. Это просто подгрузка новостей.

1. в navigation.tpl
<div id="bottom-nav">
    <div id="pagi-load">[next-link]Загрузить еще [/next-link]</div>
</div>

2. в css файл
#bottom-nav {opacity:0; clear:both;}

3. в js файл

$(document).ready(function(){
    var load = $('#pagi-load'), flag = 0;
    $(window).scroll (function () {
        if ($(this).scrollTop() + $(this).height() + 50 > load.offset().top) {
            var urlNext = load.find('a').attr('href');
            if (urlNext !== undefined && flag == 0) {
                flag = 1;
                $.ajax({
                    url: urlNext,
                    beforeSend: function() {
                        ShowLoading();
                    },            
                    success: function(data) {
                        $('#bottom-nav').remove();
                        $('#dle-content').append($('#dle-content', data).html()).after($('#bottom-nav'));
                        window.history.pushState("", "", urlNext);
                        HideLoading();
                        flag = 0, load = $('#pagi-load');
                    }
                });
            } else {
                load.remove();
            };
        };
    });  
});

Ivan Kharlov
Юзер

Ivan Kharlov - 2 октября 2017 14:02 -

ребят спасибо! но мне не нужна подгрузка контента в категориях а полноценная навигация по страницам без перезагрузки страницы

nowheremany
Эксперт

nowheremany - 4 октября 2017 13:08 -

В чем проблема полной AJAX навигации: Должна быть отдельная JS функция типа document.ready, в которую нужно запихнуть всю инициализацию скриптов, и прикреплять их к новому HTML контенту.

К примеру:
Есть функция инициализации select2 типа $('select').select2(). Её прописывают в $( document ).ready(), для AJAX навигации такое не подходит, нужно делать чтото типа:
function document_ready(body){
$('select',body).select2();

// Для инициализации переходов к новым страницам на AJAX
  $('a',body).click(function(){
    $.get(this.href,function(d){
      var a=$('#dle-conent',$(d))
      document_ready(a);
      $('#dle-conent').html(a);
    }); return !1
  })
}
$( document ).ready(function(){
document_ready($('body'))
})


Это не полноценный скрипт, но от него можно оттолкнуться, проблема в том, что сейчас на многих сайтах полная жуть со скриптами, и их необходимо полностью переделывать и стандартизировать. В том числе и стандартные длешные причем под каждую новую версию. Очень огромная работа, причем меня останавливает, что созданные скрипты упадут в паблик + цена этого скрипта должна быть соответствующей, а не как моя версия под 9х + лично заниматься каждым сайтом очень напряжно, сейчас понавешивают кучу скриптов причем конфликтующих зачастую, а разбирать все это долго, нудно и часто могут не подойти под AJAX.

Благодарность принимаю тут Связь

Heavy1
Юзер

Heavy1 - 5 октября 2017 05:09 -

nowheremany,так сделай его как модуль с привязкой к домену что бы в паблик не было смысла сливать

nowheremany
Эксперт

nowheremany - 5 октября 2017 09:15 -

90% модуля это JS )

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх