1. 程式人生 > >Ajax區域性頁面重新整理和history

Ajax區域性頁面重新整理和history

ajax能實現頁面的無重新整理載入,但是會造成無法前進後退的問題。
我們可以人為的使用history.pushState來人造歷史資訊, 並且通過監聽popstate事件來知道使用者點選了瀏覽器後退或前進按鈕,然後將頁面元素還原到歷史上的某個狀態。

// 點選查詢按鈕的時候人為構造一個瀏覽器歷史
$('#a').click(function() {
  $(targetSelector).load(url);
  history.pushState({
    container : targetSelector,
    content   : $(targetSelector).html()
  }, null
, url); });
// 當瀏覽器後退後者前進的時候,我們把當時的結果重新載入到container裡來
window.addEventListener('popstate', function() {
  var state = history.state
  $(state.container).html(state.content);
})

註釋:上述js在實現時會有陷阱,但此處只是讓讀者能夠了解,history.pushState(replaceState也一樣)的用法,和history.pushState(state,document.title,url)中的各個引數的作用及意義。

另附window.onpopstate的說明:
history.go和history.back(包括使用者按瀏覽器歷史前進後退按鈕)觸發,並且頁面無刷的時候(由於使用pushState修改了history)會觸發popstate事件,事件發生時瀏覽器會從history中取出URL和對應的state物件替換當前的URL和history.state。通過event.state也可以獲取history.state。

相關推薦

Ajax區域性頁面重新整理history

ajax能實現頁面的無重新整理載入,但是會造成無法前進後退的問題。 我們可以人為的使用history.pushState來人造歷史資訊, 並且通過監聽popstate事件來知道使用者點選了瀏覽器後退或前進按鈕,然後將頁面元素還原到歷史上的某個狀態。 //

html區域性頁面重新整理跳轉傳參

index.html為父頁面,A.html和B.html為區域性重新整理的子頁面。 頁面跳轉: 如index.html所示,用<iframe>標籤實現頁面的巢狀。 引數傳遞: 當需要傳遞引

javascript監聽頁面重新整理頁面關閉事件方法詳解

在我們的日常生活中,時常遇到這麼一種情況,當我們在點選一個連結、關閉頁面、表單提交時等情況,會提示我們是否確認該操作等資訊。 這裡就給大家講講javascript的onbeforeunload()和onunload()兩個事件。 相同點: 兩者都是在對頁面的關閉或重新整理事件作個操作。

vue-router ---- 解決頁面重新整理路由改變時導航條樣式問題

問題:   1.當我們在使用路由時,如果有導航條此時,我們在url位址列目改變路由地址,此時路由內容更改但,導航條樣式沒有隨著改動   2.當頁面重新整理時,url導航位址列的路由和當前頁面顯示的不一致 解決:  1.通過watch監聽路由地址的改變

javascript如何監聽頁面重新整理頁面關閉事件

在我們的日常生活中,時常遇到這麼一種情況,當我們在點選一個連結、關閉頁面、表單提交時等情況,會提示我們是否確認該操作等資訊。 這裡就給大家講講javascript的onbeforeunload()和onunload()兩個事件。 相同點: 兩者都是在對頁面的關閉或重新整理

Ajax實現 頁面區域性 重新整理

 web開發中我們經常會遇到區域性重新整理頁面的需求,以前我經常使用ajax和iframe實現區域性重新整理,後來做政府的專案,對頁面的樣式要求比較多,發現使用iframe控制樣式什麼的很麻煩,所以就採用了新的辦法,就是下面我們要說的ajax配合div區域性重新整理頁面,其實很簡單,下面我

Fragment與ViewPager的結合做出區域性滑動重新整理頁面,以及關於app.FragmentManagerv4包的FragmentPagerAdapter衝突

ViewPager+Fragment可以做出多頁面滑動效果,讓我們的應用程式介面操作起來更加靈活一.首先來說說Fragment支援Fragment的有兩個包importandroid.support.v4.app.Fragment;importandroid.app.Frag

Ajax實現區域性重新整理非同步處理簡單應用(實現簡單註冊驗證)

4.//從資料庫中查詢相應欄位並反饋給servlet 部分 @SuppressWarnings({ "unused", "null" })  public User find(String name){   List<Map<String,Object>> lists=new Arra

關於ajax區域性重新整理,從資料庫實時更新資料到頁面(一般是下訂單成功後傳送訊息到後臺)

關於ajax區域性重新整理,從資料庫實時更新資料到訊息框(通知框),一般是下訂單後傳送訊息到後臺,這個後臺的訊息(或者通知)是實時更新的,就需要用到區域性重新整理。 思路: 1、要提交到後臺稽核,就應

History配合Ajax實現無重新整理頁面跳轉

一些網站頭尾內容都是一樣的,重新整理總顯得浪費。從體驗上講,點選導航,右側Ajax區域性重新整理是更優的策略。 Ajax區域性重新整理小菜,稍有經驗都能輕鬆應對。現在如果提出如下需求:每次ajax重新整理就如果頁面重新整理一樣,可以後退檢視之前內容,怎麼破?

ionic頁面快取區域性重新整理

最近兩天在做專案時,發現ionic的快取功能非常方便好用,提高了再低端手機特別是android比較低版本上的流暢性!可是,後來發現,整體的快取整個頁面並不是一個一勞永逸的辦法,結合區域性重新整理功能,感覺就完美極了!建議有一定的ionic基礎。 面, 1.根據想實現快

AJAX非同步請求當前頁面重新整理的結合使用

<script> //這個ajax會將資料在後臺封裝到域中, //然後前臺取值。此時由於全頁面的一次性渲染 //也就是說ajax和下面的頁面同時傳送過來。已經渲染結束 //然後ajax 同時將請求路徑發出。 //回來之後資料此時已經

微信中蘋果h5頁面用window.history.go(-1)返回上一頁頁面不會重新載入/重新整理

微信中h5頁面用window.history.go(-1)返回上一頁頁面不會重新載入問題 問題描述:     在實際開發中遇到這樣一個問題,業務需求涉及到返回上一頁問題,第一時間想到了window.history.go(-1)方法,這樣做本身沒有任何問題,但是在微信中,安卓手機還好返回上一頁

如何使用ajax實現頁面資料儲存修改根據條件查詢資料

*今天我們來講講ajax實現儲存和修改,其實很簡單,跟上期的刪除方法相似,* *好了,廢話不多說,直接上程式碼* 注意:這裡麵包含了儲存方法,修改,和條件查詢及對select下拉列表的操作,請仔細看完 功能頁面Jsp <%@ page lan

為什麼傳送ajax請求頁面也會重新整理呢?

button 標籤請新增 type='button' 屬性,因為瀏覽器預設會認為 button 的屬性是submit.type=‘submit’時會發生提交表單的預設行為。 <button type='button' class="send_msg" oncli

解決ajax區域性重新整理後,滾動條位置變化的問題

問題描述:網頁底部實現了點贊和收藏功能,給長篇文點贊並更新點 贊數量之後,滾動條回到網頁頂部。 修改之前: <a href="#" th:onclick="'javascript:updateNum('+${article.id}+')'" > <i clas

ASP.NET中使用UpdatePanel實現區域性非同步重新整理方法攻略(轉)

asp.net UpdatePanel實現非同步區域性重新整理 鑑於最近專案需要,研究了一下UpdatePanel控制元件的使用方法,現總結如下,可能有很多地方不足,還望大家斧正哦,此文的目的也是為了幫助UpdatePanel的初學者,也是為了給自己的學習之路

Ajax下拉重新整理在安卓的UC瀏覽器QQ瀏覽器無效

移動端開發,在手機上測試發現用所有手機的自帶瀏覽器沒問題,但是換到UC和QQ瀏覽器上值載入只出現預設的5條資料,上拉重新整理卻沒有資料 發現在瀏覽器上放大網頁資料逐條加載出來,最後判定高度的問題, 所以在後面加上100畫素就ok了 var domH=$(docu

兩種定時重新整理區域性頁面的方法--採用非同步流程

一、採用jQuery的ajax方法 function reloadView(){ $.ajax({ url:'${oneway}/index?event=reloadView', t

後端重新整理前端重新整理頁面的過程

加粗樣式對於伺服器開發工程師來說,前段頁面的重新整理分 : 後端重新整理和前端重新整理 後端重新整理的實現是通過模板加資料的方式實現的 前端重新整理的實現是通過jQuery和Ajax+動態載入+HTML、CSS的方式實現的 不管是後端重新整理還是前端重新整理