獲取微信返回事件時的感悟
阿新 • • 發佈:2019-02-11
最新一個專案要開發微信公眾號的內容,有一個需求是獲取返回按鈕點選事件在其點選時跳轉到特定的頁面,可是微信的返回按鈕只是相當執行後退一步。然後看了一篇文章很多人都不知道的監聽微信、支付寶等移動app及瀏覽器的返回、後退、上一頁按鈕的事件方法,看到了寫法
之前看到這個標題就很誤解,還以為是這個只針對於微信的返回按鈕,後來經過對popstate的研究才發現這些都是h5新API,主要是針對於瀏覽器的返回按鈕,也就是也適用於pc端的瀏覽器返回按鈕,由此可知微信的返回按鈕其實就相當於瀏覽器的返回。之前只是想測試下這個有沒有用,就只是
$(function(){ pushHistory(); //這個必須在文件載入時就觸發,創建出來的新的history實體 window.addEventListener("popstate", function(e) { //popstate 只有在history實體被改變時才會觸發 alert("我監聽到了瀏覽器的返回按鈕事件啦");//根據自己的需求實現自己的功能 }, false); function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#"); } });
之前看到這個標題就很誤解,還以為是這個只針對於微信的返回按鈕,後來經過對popstate的研究才發現這些都是h5新API,主要是針對於瀏覽器的返回按鈕,也就是也適用於pc端的瀏覽器返回按鈕,由此可知微信的返回按鈕其實就相當於瀏覽器的返回。之前只是想測試下這個有沒有用,就只是
監聽了"popstate",然後發現怎麼都觸發不了這個監聽事件,還以為是隻針對微信,可是用微信測試也沒觸發。百思不得其解,經過多次測試,才發現必須要先建立新的history實體,否則是監聽不到的!也就是一定要先寫pushHistory()!