App下載

pushstate如何使用監(jiān)聽和返回事件?監(jiān)聽瀏覽器和返回事件案例分享!

猿友 2021-08-05 16:19:08 瀏覽數(shù) (5229)
反饋

在我們的實(shí)際開發(fā)中,我們?yōu)榱藘?yōu)化在打開頁面之后在我們完成內(nèi)容填寫之后沒有保存在退出之后數(shù)據(jù)為空,那么下面就為大家講講“pushstate如何使用監(jiān)聽和返回事件?”這個問題吧!

pushstate與監(jiān)聽瀏覽器返回解決的問題

因此可以使用pushstate方法,不刷新瀏覽器改變url 當(dāng)你再返回時候就會返回到這個A頁面而不是上上個頁面。但此時還需要監(jiān)聽返回的按鈕,進(jìn)而控制組件的顯示與隱藏。這點(diǎn)也至關(guān)重要。不然組件不隱藏,也就相當(dāng)于沒效果。

pushState

使用方法(一般情況)

function pushHistory() { 
var state = { title: "title", url: "#" }; 
window.history.pushState(state, "title", "#"); }

參數(shù)說明:

pushState() 帶有三個參數(shù):state是js對象,title是個標(biāo)題(現(xiàn)在被忽略了),以及一個可選的URL地址。

關(guān)于pushstate的說明

瀏覽器不會向服務(wù)端請求數(shù)據(jù),直接改變url地址,可以類似的理解為變相版的hash;但不像hash一樣,瀏覽器會記錄pushState的歷史記錄,可以使用瀏覽器的前進(jìn)、后退功能作用。

監(jiān)聽瀏覽器返回按鈕

window.addEventListener("popstate", function(e) { console.log(e); alert("我監(jiān)聽到了瀏覽器的返回按鈕事件啦");//根據(jù)自己的需求實(shí)現(xiàn)自己的功能 }, false);

轉(zhuǎn)自:https://segmentfault.com/a/1190000022696823

以上就是有關(guān)于“pushstate如何使用監(jiān)聽和返回事件?”這個問題的解決方法!那么到此這篇文章就介紹到這了,更多與html5相關(guān)的內(nèi)容都可以在W3Cschool搜索學(xué)習(xí)! 

0 人點(diǎn)贊