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

    9000px;">

      91成人福利视频| 神马久久精品综合| 丰满肥臀噗嗤啊x99av| 亚洲 欧美 成人| 欧美激情一区二区三区免费观看| 国产黄色免费观看| www.com亚洲| 一二三区在线播放| 亚洲一区二区三区观看| 伊人成人免费视频| 午夜精品久久久久久久96蜜桃| 日本三级中文字幕| 久久久99精品| 久久黄色免费网站| 精品人妻伦一二三区久| 国产三级视频网站| 国产三级精品三级在线观看| 成人无码精品1区2区3区免费看 | 中文字幕在线免费看线人| 日韩一级中文字幕| 人人爽人人av| 日本激情一区二区| 欧美人与性动交α欧美精品| 欧美精品成人久久| 欧美三级 欧美一级| 强乱中文字幕av一区乱码| 欧美三级免费看| 日本免费观看网站| 日韩一区二区a片免费观看| 人妻av一区二区三区| 青青草成人免费| 日本一卡二卡在线| 无码黑人精品一区二区| 亚洲h视频在线观看| 一区二区的视频| 最新中文字幕一区| 亚洲影视一区二区| 丁香六月天婷婷| 国产污视频在线观看| 久久久www成人免费毛片| 巨胸大乳www视频免费观看| 欧美国产成人精品一区二区三区| 人人妻人人澡人人爽| 天天干天天舔天天操| 中文av字幕在线观看| 亚洲五月激情网| 国产a级免费视频| 国精产品一品二品国精品69xx| 精品少妇人妻av一区二区三区| 久久久久99精品成人片三人毛片| 欧美肉大捧一进一出免费视频| 深夜福利视频网站| 亚洲精品在线视频播放| 超碰成人在线播放| 精品一区免费观看| 日韩无码精品一区二区三区| 中文字幕观看av| a级在线免费观看| 精品人妻少妇AV无码专区| 欧美性xxxx图片| 中文字幕 亚洲一区| 99热超碰在线| 精品一区在线视频| 无码人妻一区二区三区精品视频| 亚洲国产成人va在线观看麻豆| 波多野结衣三级视频| 久久免费手机视频| 五月婷婷在线观看视频| 99国产精品欲| 久久久www成人免费毛片| 天天躁夜夜躁狠狠是什么心态| 亚洲高清毛片一区二区| 国产精品嫩草影视| 日韩精品在线一区二区三区| 中文字幕第六页| 国产视频一二三四区| 日韩av在线中文| 夜夜躁狠狠躁日日躁av| 国精产品一品二品国精品69xx| 日日夜夜综合网| av一级在线观看| 免费一级做a爰片久久毛片潮| 在线视频 91| 好吊日在线视频| 午夜免费福利视频在线观看| 成人黄色三级视频| 日本高清视频www| 亚洲无码精品一区二区三区| 九九热精彩视频| 中文字幕乱码在线| 韩国av永久免费| 一区二区成人网| 国内毛片毛片毛片毛片| 五月花丁香婷婷| 国产精品国产三级国产aⅴ| 少妇一级淫片免费看| 波多野结衣一区二区在线| 欧美一级高潮片| 91影院在线播放| 秋霞av一区二区三区| 99视频在线视频| 色婷婷av一区二区三| 国产成人综合欧美精品久久| 天天干天天干天天干天天| 国产精品久久久久久久久久久久久久久久 | 国产成人av免费| 三年中国中文观看免费播放| 国产ts在线观看| 亚洲av片不卡无码久久| 狠狠综合久久av一区二区| 中文字幕在线1| 欧美 日韩 国产 在线| 99热这里只有精品4| 手机看片国产精品| 国产又黄又粗又猛又爽的视频| 中国毛片在线观看| 欧美成人精品一区二区免费看片| 97久久久久久久| 五月天婷婷激情视频| 精品无码国产一区二区三区51安 | 中文字幕av第一页| 毛片毛片毛片毛| 丰满少妇高潮一区二区| 在线观看免费视频一区| 美女一区二区三区视频| 国产91精品一区| 中文字幕在线观看视频免费| 欧美男人天堂网| 国产五月天婷婷| 91成人在线观看喷潮蘑菇| 五月激情四射婷婷| 蜜臀99久久精品久久久久小说| 丰满熟女人妻一区二区三| 在线观看视频二区| 人妻视频一区二区| 国精品人伦一区二区三区蜜桃| 亚洲怡红院av| 在线观看欧美一区二区| 人人妻人人澡人人爽久久av| 国产一级黄色录像| www久久久久久久| 亚洲色大成网站www| 五月婷婷视频在线| 人妻无码中文字幕| 精品深夜av无码一区二区老年 | 97免费观看视频| 中文字幕人妻无码系列第三区 | 欧美一区二区三区成人精品| 国产性生活网站| 国产高清一区二区三区四区| 亚洲熟女乱综合一区二区三区| 亚洲 另类 春色 国产| 欧美一区二区公司| 久久这里只有精品免费| 国产毛片久久久久久久| 岛国av免费观看| 99久久综合网| a级黄色片免费看| 97人妻精品一区二区免费| 亚洲精品国产一区黑色丝袜| 一区二区三区在线观看免费视频| 肉色超薄丝袜脚交69xx图片| 欧洲美一区二区三区亚洲| 久久综合伊人77777麻豆最新章节| 国产一卡二卡在线| 国产无人区码熟妇毛片多| 国产精品suv一区二区| 成人免费毛片糖心| 懂色av蜜桃av| 丰满少妇被猛烈进入一区二区| www.色国产| 草久视频在线观看| www.色天使| 成人无码www在线看免费| 丰满少妇高潮久久三区| 成人区人妻精品一区二| 岛国大片在线免费观看| 国产av一区二区三区传媒| 国产精品6666| 国产资源中文字幕| 久久精品一区二区三区四区五区| 久久黄色免费视频| 女人18毛片毛片毛片毛片区二| 欧美视频一区二区在线| 日本中文字幕二区| 五月婷婷色丁香| 亚洲精品视频网| 成人免费毛片视频| 国产小视频在线看| 久久视频免费看| 欧美亚韩一区二区三区| 手机看片日韩av| 中文字幕在线观看成人| 亚洲综合成人av| 国产精品成人av久久| 国产在线视频第一页| 欧美国产日韩在线观看成人| 视频一区二区免费| 最新天堂中文在线| 不卡的免费av|