久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

WordPress全站PJAX代碼 - wordpress開發

INLOJV封裝的自用WordPress全站PJAX代碼。包括最簡單的評論ajax,更快速的前進后退功能

羊年起不再折騰WordPress了,可以看到本站近期文章不存在什么wordpress關鍵字,也因為老有人跑來加Q問我這個東西怎么搞,所以本人就封裝了這個,不僅僅是頁面pjax。其實網上教程有很多了,但不是全站的,搜索、評論等還要另外寫,下面這個就不必了,包括最簡單的評論ajax,更快速的前進后退功能。本篇是wp相關的最后一篇文章。

首先請看本站PJAX教程

注:代碼極不規范(我本來就不是專業的),喜歡就拿去吧,不過若要轉載就請保留本站一個鏈接。

特別建議:有一定js基礎的朋友使用,能自己優化就自己優化,沒接觸過的還是別折騰了,不會則自行百度,下面的注釋都是我當初一句句百度折騰學習jq才加上去的。

//————————————————————————————————————
//  Packaged PJAX By INLOJV 2015.01.09
//  頁面、搜索、評論、評論分頁 PJAX
//————————————————————————————————————

// ——————————————————————— AJAX-評論、搜索、分頁 等
var ajx_main = '#main' , // 要替換的主體id,改為你文章部分的容器
ajx_a = 'a' , // a標簽,自己添加排除規則
ajx_comt = 'comments' , // 整個評論區的id ,不加#
ajx_submit_form = '#comment_form' , // 提交按鈕所在的表單
ajx_comtlist = '.comment-list' , // 評論列表id或class
ajx_comtpagenav = '.pagenav' , // 評論分頁導航的id或class
ajx_comtpagenav_a = '.pagenav a' , // 評論分頁導航的a標簽
ajx_sform = '.inlo-search form' , // 搜索表單form標簽
ajx_skey = '.s-key' ; // 搜索表單input標簽內的id或class
function reload_func(){
    // 這里放置需要重載的JS或函數
}


$(function() {    
    a(); //pushState初始化執行一次
});
// 建立錨點函數,用于跳轉后的滾動定位,使用這個主要是有側欄評論帶#號時能在請求后定位到該條評論的位置
function body_am(id) { 
    id = isNaN(id) ? $('#' + id).offset().top : id;
    $("body,html").animate({
        scrollTop: id
    }, 0);
    return false;
}
function to_am(url) { 
    var anchor = location.hash.indexOf('#'); // 用indexOf檢查location.href中是否含有'#'號,如果沒有則返回值為-1
    anchor = window.location.hash.substring(anchor + 1);
    body_am(anchor);
}
// 主頁地址,用于下面的提交函數
var home_url = document.location.href.match(/http:\/\/([^\/]+)\//i)[0]; 
// 函數: 替換url,用于評論ajax提交
function replaceUrl(url, domain) {
    return url.replace(/http:\/\/([^\/]+)\//i, domain);
}
// 函數:從封裝的Json獲取
function getFormJson(frm) {
    var o = {};
    var a = $(frm).serializeArray();
    $.each(a,
        function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
        });
    return o;
}
// 函數:更新瀏覽器歷史緩存(用于瀏覽器后退)
function l(){
    history.replaceState( // 刷新歷史點保存的數據,給state填入正確的內容
    {    url: window.document.location.href,
        title: window.document.title,
        html: $(document).find(ajx_main).html(), // 抓取主體部分outerHTML用于呈現新的主體。也可以用這句 html: $(ajx_main).prop('outerHTML'),
    }, window.document.title, document.location.href);
}
// 函數:頁面載入初始一次,解決Chrome瀏覽器初始載入時產生ajax效果的問題,并且監聽前進后退事件
function a(){
    window.addEventListener( 'popstate', function( e ){  //監聽瀏覽器后退事件
        if( e.state ){
            document.title = e.state.title;
            $(ajx_main).html( e.state.html ); //也可以用replaceWith ,最后這個html就是上面替換State后里面的html值                
            // 重載js
            window.load =  reload_func(); // 重載函數
        }
    });    
}
//函數:AJAX核心
function ajax(reqUrl, msg, method, data) {
    if (msg == 'pagelink' || msg == 'search') { // 頁面、搜索
        $(ajx_main).fadeTo('slow',0.6); 
    } else if ( msg == 'comment' ){ // 評論提交    
        $('#' + ajx_comt).fadeTo('slow',0.5); 
    } else if ( msg == 'comtpagenav' ){ //  評論分頁時
        $(ajx_comtlist).fadeTo('slow',0.5);
        $(ajx_comtpagenav).fadeTo('slow',0.8);
    }
    $.ajax({
        url: reqUrl, 
        type: method,
        data: data,
        beforeSend : function () { //加載前操作 這個必須放在window.history.pushState()之前,否則會出現邏輯錯誤。                
            l(); //刷新歷史點內容,這個必須放在window.history.pushState()之前,否則會出現邏輯錯誤。
        },
        success: function(data) {
            if (msg == 'pagelink' || msg == 'search') { // 又如果msg為 頁面 或 搜索—— 【1】
                $(ajx_main).html($(data).find(ajx_main).html()) ; // 替換原#main的內容
                $(ajx_main).fadeTo('normal',1);
            } else if (msg == 'comment') { // 又如果msg為 評論回復——————————【2】 
                $('#' + ajx_comt).html($(data).find('#' + ajx_comt).html());//  評論列表滑出
                $('#' + ajx_comt).fadeTo('normal',1); 
                $("body,html").animate({scrollTop:$('#'+ajx_comt).offset().top}, 900); // 定位返回評論ID頂部
            } else if (msg == 'comtpagenav') { // 又如果msg為 評論分頁——【3】
                var content = $(data).find(ajx_main).html();
                var pagedstring = $(data).find(ajx_comtpagenav).html();
                $(ajx_main).html(content);
                $(ajx_comtpagenav).html(pagedstring);
                $(ajx_comtlist).fadeTo('normal',1); // 評論列表顯示
                $(ajx_comtpagenav).fadeTo('normal',1); // 評論分頁顯示
                $("body,html").animate({scrollTop:$(ajx_comtlist).offset().top}, 600); 
            }
            document.title = $(data).filter("title").text(); // 瀏覽器標題變更
            if (msg != 'comment') { // —— 不為后退 也 不為評論回復時
                var state = { // 設置state參數
                    url: reqUrl,
                    title: $(data).filter("title").text(),
                    html: $(data).find(ajx_main).html(),
                };
                // 將當前url和歷史url添加到瀏覽器當中,用于后退。里面三個值分別是: state, title, url
                window.history.pushState(state, $(data).filter("title").text(), reqUrl);
            }
        },
        complete: function() { // ajax完成后加載
            // 代碼重載區
            if (msg == 'pagelink') { // 若msg為 頁面鏈接
                to_am(reqUrl) ;// 定位到相應鏈接位置,這個必須放在window.history...之后執行,否則遇到帶#號的鏈接,再點擊其他鏈接地址欄就無法改變
            } 
            window.load =  reload_func(); // 重載函數
        },
        timeout: 5000, // 超時長度        
        error: function(request) { // 錯誤時的處理
            if (msg == msg == 'pagelink' || msg == 'search'){
                location.href = reqUrl;    //直接刷新跳轉到請求的頁面鏈接
            } else if (msg == 'comment') { // 若msg為評論回復
                alert($(request.responseText).filter("p").text()); // 彈出警告,這個是必需的,如果刪除那么提交錯誤時就會打開空白頁面
                $('#' + ajx_comt).fadeTo('normal',1); 
            } else if ( msg == 'comtpagenav' ) {
                $(ajx_comtlist).fadeTo('normal',1); // 警告后評論區顯示
                $(ajx_comtpagenav).fadeTo('normal',1); // 警告后評論區顯示
            } else {
                location.href = reqUrl; //頁面錯誤時跳轉到請求的頁面
            }
        },
    });
}
//頁面ajax
$('body').on("click",ajx_a,
function() {
    ajax($(this).attr("href"), 'pagelink');
    return false;
});
//評論ajax
$('body').on('submit',ajx_submit_form, 
function() {
    ajax(replaceUrl(this.action, home_url), 'comment', 'POST', getFormJson(this));
    return false;
});
//搜索ajax
$('body').on('submit',ajx_sform, 
function() {
    ajax(this.action + '?s=' + $(this).find(ajx_skey).val(), 'search'); 
    return false;
});
//評論分頁ajax
$('body').on("click",ajx_comtpagenav_a,
function() {
    ajax($(this).attr("href"), 'comtpagenav');
    return false;
});

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      久久亚洲一级片| 日日摸夜夜添夜夜添亚洲女人| 高清国产午夜精品久久久久久| 中文天堂在线一区| 宅男噜噜噜66一区二区66| 国产成人av一区二区| 午夜久久久久久| 国产精品福利在线播放| 欧美电影免费观看高清完整版在| 99精品久久免费看蜜臀剧情介绍| 精油按摩中文字幕久久| 日本成人中文字幕在线视频| 亚洲人成人一区二区在线观看| 久久精品视频免费| 精品久久久久一区二区国产| 欧美性色综合网| www.在线成人| 成人午夜伦理影院| 日日欢夜夜爽一区| 亚洲国产毛片aaaaa无费看| 亚洲日本一区二区三区| 国产嫩草影院久久久久| 久久精品在这里| 日韩va欧美va亚洲va久久| 91精品视频网| 亚洲国产视频a| 亚洲国产精品嫩草影院| √…a在线天堂一区| 日韩精品一区二区三区老鸭窝| 91麻豆精品国产自产在线 | 成人理论电影网| 国产一区二区精品久久91| 蜜臀a∨国产成人精品| 看电影不卡的网站| 国产一区二区调教| 成人av免费在线观看| 91免费视频观看| 色视频一区二区| 色哦色哦哦色天天综合| 欧美日韩精品电影| 日韩一区二区三区精品视频| 91精品在线免费观看| 91精品国产免费| 精品国产成人系列| 亚洲欧洲精品一区二区精品久久久 | 99视频精品全部免费在线| 国产91精品露脸国语对白| 成人激情小说乱人伦| 欧美羞羞免费网站| 精品国产制服丝袜高跟| 国产精品毛片高清在线完整版| 椎名由奈av一区二区三区| 亚洲国产精品一区二区www| 日韩中文字幕区一区有砖一区| 国产综合久久久久久久久久久久| 成人精品小蝌蚪| 欧美视频一区二| 日韩欧美电影一区| 最新日韩av在线| 日韩 欧美一区二区三区| 国产风韵犹存在线视精品| 91久久人澡人人添人人爽欧美| 欧美高清激情brazzers| 国产欧美一区二区三区在线看蜜臀 | 狠狠色狠狠色综合系列| av不卡在线观看| 91精品国产综合久久精品| 欧美人与禽zozo性伦| 精品三级在线看| 一区二区理论电影在线观看| 久久99久久久久| 色综合天天做天天爱| 精品日韩99亚洲| 亚洲va欧美va人人爽午夜| 粉嫩在线一区二区三区视频| 56国语精品自产拍在线观看| 日韩理论片在线| 国产一区在线视频| 欧美精品少妇一区二区三区| 中文字幕一区日韩精品欧美| 精品亚洲国内自在自线福利| 色美美综合视频| 中文在线免费一区三区高中清不卡| 另类欧美日韩国产在线| 国产一区二区三区四区在线观看| 在线观看不卡视频| 在线观看网站黄不卡| 91精品欧美久久久久久动漫| 精品美女被调教视频大全网站| 国产精品理论片在线观看| 日韩av网站免费在线| 色综合色狠狠天天综合色| 91麻豆精品国产91久久久久久| 精品国产伦一区二区三区免费| 国产欧美日韩麻豆91| 久久精品72免费观看| 欧美三级韩国三级日本三斤| 中文字幕一区二区不卡| 国产电影精品久久禁18| 精品免费日韩av| 精品在线观看视频| 日韩女同互慰一区二区| 婷婷开心久久网| 91精品国产综合久久精品麻豆| 亚洲成人动漫在线免费观看| 在线免费不卡电影| 亚洲国产精品久久人人爱| 欧美中文字幕亚洲一区二区va在线 | 久久蜜臀中文字幕| 国产精品香蕉一区二区三区| 久久久不卡网国产精品一区| 亚洲午夜在线观看视频在线| 色综合久久综合网欧美综合网| 精品成人私密视频| 一区二区三区在线播| 日本高清不卡aⅴ免费网站| 一区二区三区丝袜| 欧美日韩一区二区三区视频 | 成人av中文字幕| 欧美国产综合一区二区| 成人精品国产福利| 欧美电视剧免费全集观看| 日本午夜精品一区二区三区电影| 国产在线乱码一区二区三区| 精品国产电影一区二区| 久久久精品国产免费观看同学| 亚洲va韩国va欧美va精品 | 91论坛在线播放| 天堂va蜜桃一区二区三区 | 99re亚洲国产精品| 亚洲国产日日夜夜| 欧美成人伊人久久综合网| 国内精品免费**视频| 中文字幕在线观看一区| 成人免费视频国产在线观看| 国产精品拍天天在线| 国产一区 二区 三区一级| 国产精品网站导航| 欧美日韩一区在线观看| 国产成人精品三级麻豆| 亚洲综合免费观看高清完整版| 91精品国产综合久久精品app| 丁香婷婷深情五月亚洲| 五月综合激情日本mⅴ| 久久视频一区二区| 在线影院国内精品| 久久99国产精品麻豆| 中文字幕日本乱码精品影院| 日韩午夜激情免费电影| 91在线观看高清| 亚洲一区二区五区| 欧美猛男男办公室激情| 国产成a人亚洲精品| 午夜婷婷国产麻豆精品| 国产精品久久久久影院| 日韩你懂的在线播放| 欧美影视一区二区三区| 成人18视频日本| 久久99久国产精品黄毛片色诱| 一级做a爱片久久| 欧美精品一区二区久久婷婷| 日本丶国产丶欧美色综合| 国产成人免费视频一区| 免费观看日韩av| 午夜日韩在线观看| 一区二区三区中文在线观看| 国产精品丝袜91| 在线欧美日韩精品| 久久99久久99精品免视看婷婷| 亚洲欧美一区二区久久| 欧美精品一卡二卡| 成人av免费网站| 极品美女销魂一区二区三区 | 精品夜夜嗨av一区二区三区| 中文字幕高清不卡| 成人动漫精品一区二区| 欧美日韩国产乱码电影| 狠狠色丁香久久婷婷综合丁香| 国产欧美日本一区二区三区| 日本精品裸体写真集在线观看| 国产寡妇亲子伦一区二区| 韩国av一区二区三区| 国产一区二区免费看| 国产69精品久久99不卡| 99精品视频中文字幕| 在线观看日韩高清av| 欧美另类久久久品| 久久在线观看免费| 亚洲桃色在线一区| 日本不卡123| 国产成人av电影在线| 91蝌蚪国产九色| 日韩女优电影在线观看| 亚洲欧洲成人自拍| 日韩av中文在线观看| 国产精品91一区二区| 色婷婷综合中文久久一本| 91精品国产综合久久香蕉麻豆| 久久精品一区四区| 亚洲最大成人综合|