Вход Регистрация
Файл: style/themes/justweb/js/jquery.ajaxpage.js
Строк: 130
<?php
(function( $ ) {
    $.fn.
ajaxpage = function() {
        var 
history window.history
        var 
$ajaxpage this
        var 
xhr = {}

        
window.addEventListener('popstate', function (e) {
            var 
id e.state e.state.count localStorage.id 1dir id localStorage.id;
            var 
url = !e.state window.location.href e.state.url

            if (
url.search(/#([A-z0-9]{32})$/i) !== -1 || url.search(/#$/i) !== -1) {
                
if (window.location.href.replace(/#([A-z0-9]{32})$/, '') === url.replace(/#([A-z0-9]{32})$/, '')) {
                    
return true;
                }
            }

            if (
url && url.search(/#/i) === 0) {
                
return false;
            }
            
            
$ajaxpage.AjaxPageLoad(urltrue); 
        }, 
false);

        $(
document).on('click''a[href],[data-href]', function() {
            var 
url = $(this).attr('href') || $(this).attr('data-href'); 
            var 
target = $(this).attr('target') || false

            if (
target == '_blank') {
                return 
true
            }

            if (
url && url !== '#' && url.search(/#/i) === 0) {
                
var tagScroll = $(url).offset() || false

                if (
tagScroll) {
                    $(
"html, body").animate({
                        
scrollToptagScroll.top 100
                    
}, 700);                  
                }
                
                return 
false
            }

            var 
is_bad_link false
            var 
domain window.location.host

            if (
url == '/' || url == '') { url window.origin; }

            if (
url && url.indexOf('://') !== -&& url.indexOf(domain) === -1) {
                
window.open(url);
                return 
false;
            }

            if (
url == 'undefined' || !url || url.indexOf('javascript:') !== -|| url == '#') {
                
is_bad_link true
            }

            if (
is_bad_link === false) { 
                
$ajaxpage.AjaxPageLoad(url); 
                return 
false;    
            }
        }); 

        
/*
        $(document).on('submit', 'form', function(event) {
            event.preventDefault();

            $.ajax({
                url: $(this).attr('action'), 
                type: "POST", 
                data: $(this).serialize(), 
                success: function(html) {
                    $('#page_content').html(html);
                    $ajaxpage.RefreshElementsAjax(); 
                },
                error: function(response) { 
                    console.log('Ошибка. Данные не отправлены.');
                }
             });

            return false; 
        }); 
        */

        
this.AjaxPageLoad = function(urlid) {
            if (
url && url.search(/#/i) === 0) {
                
return false;
            }

            if (
typeof NProgress == 'object')
                
NProgress.start();

            
xhr = $.ajax({
                
urlurl,
                
success: function(htmlxhrStatus) {
                    if (
html.indexOf('ajax-meta') === -1) {
                        
window.open(url); 
                    } else {
                        $(
'#page_content').html(html);

                        if (
id == 301) {
                            
history.pushState(nullnullurl);
                        } else if (
id === undefined && id !== 10) {
                            
localStorage.id = (parseInt(localStorage.id) || 1) + 1;
                            
history.pushState({urlurltitledocument.titlecountlocalStorage.id}, document.titleurl);   
                        }

                        
$ajaxpage.RefreshElementsAjax(); 
                    }
                    
$ajaxpage.xhrAbort(); 
                }, 
                
error: function(jqXHRtextStatuserrorThrown) {
                    if (
textStatus == 'error') {
                        
window.location url
                        
$ajaxpage.xhrAbort();
                    }
                }
            });
        }

        
this.xhrAbort = function() {
            if (
xhr !== false) {
                
xhr.abort(); 
                
xhr false

                if (
typeof NProgress == 'object')
                    
NProgress.done();
            }
        }

        
this.RefreshElementsAjax = function() {
            var 
meta = $('#ajax-meta'); 
            var 
redirect meta.attr('data-redirect') || false
            var 
message meta.attr('data-message') || false

            if (
message !== false) {
                $(
'#ds_alerts').append($('<div/>', {
                    class: 
'alert alert-success'
                    
appendmessage
                    
onload: function() {
                        var 
alert this
                        $(
alert).css('display''none').fadeIn(500).delay(2000).fadeOut(500); 
                    }
                })); 
            }

            if (
redirect !== false) {
                
setTimeout(function() {
                    
$ajaxpage.AjaxPageLoad(redirect301);                    
                }, 
100); 

                return 
false
            }

            var 
title meta.attr('data-title') || ''
            var 
bodyClass meta.attr('data-body') || ''

            if (
bodyClass.search('ds-page-mail') !== -1) { 
                
setTimeout(function() {
                    
lastMessageScroll('smooth');
                }, 
100); 
            } else {
                $(
"html, body").animate({
                    
scrollTop0
                
}, 500);    
            }

            $(
'body').attr('class'bodyClass); 
            
document.title title;

            $(
'#ajax-stylesheet > span').each(function(keyelement) {
                var 
style_id = $(element).attr('data-id'); 
                var 
style_href = $(element).attr('data-href');
                var 
elementStyle = $('link#' style_id); 

                if (
elementStyle.length == 0) {
                    $(
'head').prepend('<link rel="stylesheet" id="' style_id '"  href="' style_href '"  media="all" />'); 
                }
            }); 
            
            $(
'#ajax-stylesheet').remove();

            $(
'#ajax-style > span').each(function(keyelement) {
                var 
style_id = $(element).attr('data-id'); 
                var 
elementStyle = $('style#' style_id); 

                if (
elementStyle.length == 0) {
                    $(
'head').append('<style type="text/css" id="' style_id '" media="all">' + $(element).html() + '</style>'); 
                }
            });  

            $(
'#ajax-style').remove(); 
        }
    };
})(
jQuery);
?>
Онлайн: 1
Реклама