原文:html5新特性:利用history的pushState等方法來解決使用ajax導致頁面后退和前進的問題

一 背景 使用ajax,可以實現不需要刷新整個頁面就可以進行局部頁面的更新。這樣可以開發交互性很強的富客戶端程序,減少網絡傳輸的內容。但長期以來存在一個問題,就是無法利用瀏覽器本身提供的前進和后退按鈕進行操作。比如在頁面執行某個動作,該動作利用ajax請求到服務器獲取數據,更新了當前頁面的某些內容,這時想回到操作前的界面,用戶就會習慣點擊瀏覽器的后退按鈕,實際這里是無效的 要么頁面沒反應,要么打開 ...

2016-01-20 15:54 1 16666 推薦指數:

查看詳情

談談HTML5中的history.pushSate方法,彌補ajax導致瀏覽器前進后退無效的問題

移動端為了減少頁面請求,有時候需要通過單頁面做成多頁面的效果,最近有這么個需求,表單填完后執行第一步,然后執行第二步,第二步執行完后再執行第三步,每一步都要保留之前的數據。這種情況用單頁面實現再合適不過了。 一般都是通過修改URL的hash,然后通過監聽hashchange來達到模擬切換頁面 ...

Thu May 28 18:23:00 CST 2015 1 3072
HTML5 history特性pushState、replaceState

DOM中的window對象通過window.history方法提供了對瀏覽器歷史記錄的讀取,讓你可以在用戶的訪問記錄中前進后退。 從HTML5開始,我們可以開始操作這個歷史記錄堆棧。 1.History 使用back(),forward(),和go()方法可以在用戶的歷史記錄中前進后退 ...

Thu May 21 00:49:00 CST 2015 3 42587
ajax前進 后退 問題 jquery.history

本文的前提是基於后台的,所以這里不會考慮seo的問題。同時,基於后台的管理系統,也不需要被收藏,所以也不會考慮刷新的這種類似直接敲網址的情況!!! 這里使用的是html5中的history.state 來解決。 網上已經有了js的開源解決方案pushState。詳見pjax 標記 ...

Wed Oct 28 05:40:00 CST 2015 0 6553
pushState、replaceState、onpopstate 實現Ajax頁面前進后退刷新

使用Ajax可以異步獲取數據,可以更高效地渲染頁面。 但也存在這一些問題: 再刷新頁面頁面就會變成初始的狀態 瀏覽器的前進后退功能無效 對搜索引擎的爬蟲抓取不友好 1、 早前會使用瀏覽器的 hash錨點 來解決 不同的hash標記着頁面不同的部分,能修正頁面刷新 ...

Thu Nov 10 19:44:00 CST 2016 0 1572
history特性pushState、replaceState

history,就是歷史記錄,h5的特性是加入了pushState與replaceState,我的理解是改變location的hash值做到無刷新頁面的路由跳轉,並且攜帶了state的相關狀態信息。 先對history先作一個簡要說明。 history.back()就是回退;這個方法會像用戶 ...

Fri Mar 10 04:10:00 CST 2017 0 7888
通過history解決ajax不支持前進/后退/刷新

前言: 現在前后端基本都是通過ajax實現前后端接口數據的交互,但是,ajax有個小小的劣勢,即:不支持瀏覽器“后退”和“前進“鍵。 但是,現在我們可以通過H5的histroy屬性 解決ajax在交互請求的這個小bug。 事件描述: H5增加了一個事件window.onpopstate ...

Thu Jul 06 01:07:00 CST 2017 2 3151
利用 html的錨點(元素a)功能實現ajax頁面應用的瀏覽器后退前進功能

一、問題 隨着AJax技術的普及,單頁面web程序的應用越來越廣泛。 所謂單頁面應用程序,簡單的說,就是應用只有一個主網頁,第一次加載后,后續頁面只會利用js和ajax到服務器獲取數據進行頁面的局部刷新。 因為實際一直只有一個頁面,雖然看上去頁面經常發生變化(比如點了一個鏈接或按鈕),但無法利用 ...

Wed Mar 23 17:27:00 CST 2016 0 3448
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM