如何獲取pushState事件-創(chuàng)新互聯(lián)

這篇文章主要介紹如何獲取pushState事件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

在察布查爾錫伯等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,察布查爾錫伯網(wǎng)站建設(shè)費(fèi)用合理。

history.pushState和history.replaceState可以在不刷新當(dāng)前頁(yè)面的情況下更改URL,但是這樣就無(wú)法獲取通過(guò)AJAX得到的新頁(yè)面的內(nèi)容了。

pushstate事件消息

雖然各種HTML5文檔說(shuō)window.onpopstate事件可以攔截pushState的消息,但在實(shí)際的測(cè)試中,onpopstate根本沒有任何作用,無(wú)法攔截pushState的消息。

經(jīng)過(guò)Google一番,才找到了正確獲取pushState事件的代碼。

正確獲取pushState事件的代碼

//Addthis:

var_wr=function(type){

varorig=history[type];

returnfunction(){

varrv=orig.apply(this,arguments);

vare=newEvent(type);

e.arguments=arguments;

window.dispatchEvent(e);

returnrv;

};

};

history.pushState=_wr('pushState');

history.replaceState=_wr('replaceState');

//Useitlikethis:

window.addEventListener('pushState',function(e){

console.warn('THEYDIDITAGAIN!');

});

window.addEventListener('replaceState',function(e){

console.warn('THEYDIDITAGAIN!');

});

這段代碼改寫了history中原來(lái)的函數(shù),然后自己激活一個(gè)事件

這樣就可以解決pushState無(wú)法激活事件的問(wèn)題了

另外記得好將這段代碼放在文檔加載前執(zhí)行

以上是“如何獲取pushState事件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

標(biāo)題名稱:如何獲取pushState事件-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article40/dphpeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄Google、網(wǎng)站排名、域名注冊(cè)、做網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)