国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

History對象

Amio / 2437人閱讀

摘要:方法接收三個(gè)參數(shù),依次為一個(gè)與指定網(wǎng)址相關(guān)的狀態(tài)對象,事件觸發(fā)時(shí),該對象會(huì)傳入回調(diào)函數(shù)。當(dāng)前頁面的對象,即方法中第一個(gè)參數(shù)的值。

基本概念

history接口允許操作瀏覽器的曾經(jīng)在標(biāo)簽頁或者框架里訪問的會(huì)話歷史記錄。

屬性

history.length

history.state

history.scrollRestoration

方法

history.back()

history.forward()

history.go()

history.pushState()

history.replaceState()

history更多屬性和方法,請參考MDN鏈接

history.pushState();

按指定的名稱和URL將數(shù)據(jù)push進(jìn)會(huì)話歷史棧橋。
history.pushState()方法接收三個(gè)參數(shù),依次為:

state: 一個(gè)與指定網(wǎng)址相關(guān)的狀態(tài)對象,poststate事件觸發(fā)時(shí),該對象會(huì)傳入回調(diào)函數(shù)。如果不需要這個(gè)對象,此處可以填null.

title: 新頁面的標(biāo)題,但是所有瀏覽器目前都會(huì)忽略這個(gè)值,因此這里可以填null.

url: 新的網(wǎng)址,必須與當(dāng)前頁面處在同一個(gè)域。瀏覽器的地址欄將顯示這個(gè)網(wǎng)址。

注意事項(xiàng)

參數(shù)中url必須和當(dāng)前頁面處在同一個(gè)域下,否則會(huì)報(bào)錯(cuò)。
例如,我在當(dāng)前index.html中使用該方法,url參數(shù)為"https://www.baidu.com".會(huì)出現(xiàn)下面的報(bào)錯(cuò)信息。

調(diào)用了pushState以后,瀏覽器地址欄會(huì)跟隨者發(fā)生變化,但是頁面并不會(huì)刷新,只是在路由棧里面增加了一條記錄。
隨后點(diǎn)擊瀏覽器前進(jìn)后退箭頭,地址欄會(huì)有變化,頁面不會(huì)刷新。但是如果在當(dāng)前瀏覽器地址欄重新輸入一個(gè)地址,然后又返回就會(huì)刷新一次地址。舉例如下:

當(dāng)前頁面是page1.html,調(diào)用pushState(null, null, "page2.html")方法以后,頁面地址變?yōu)閜age2.html.然而頁面顯示的內(nèi)容依舊是page1.html的內(nèi)容。此時(shí)刪掉瀏覽器地址欄參數(shù),改為"https://www.baidu.com"并回車訪問,去到百度頁面的時(shí)候,然后再點(diǎn)擊瀏覽器返回箭頭,將顯示page2.html頁面內(nèi)容。
當(dāng)然,上面在地址欄重新輸入一個(gè)地址的操作,可以改為任何可以刷新當(dāng)前頁面的操作。比如,window.location.href或者window.location.reload()等等

history.replaceState()

history.replaceState方法的參數(shù)和pushState()方法一模一樣,區(qū)別是它修改瀏覽歷史中當(dāng)前記錄。

history.state

當(dāng)前頁面的state對象,即pushState()方法中第一個(gè)參數(shù)的值。

popstate事件

每當(dāng)同一個(gè)文檔的瀏覽歷史出現(xiàn)變化時(shí),就會(huì)觸發(fā)popstate事件。
需要注意的是,僅僅調(diào)用pushState方法或replaceState方法,并不會(huì)觸發(fā)該事件,只有用戶點(diǎn)擊瀏覽器倒退按鈕或前進(jìn)按鈕,或者使用JavaScript調(diào)用back,forward,go方法時(shí)才會(huì)觸發(fā)。

使用的時(shí)候可以為popstate事件指定回調(diào)函數(shù)。

window.addEventListener("popstate", function(event) {
  console.log("location: " + document.location);
  console.log("state: " + JSON.stringify(event.state));
});
應(yīng)用

我們知道,Ajax可以實(shí)現(xiàn)頁面無刷新操作。但是,也會(huì)造成另外的問題,即無法前進(jìn)與后退。
當(dāng)執(zhí)行Ajax操作的時(shí)候,往瀏覽器history中塞入一個(gè)地址(使用pushState);于是,返回的時(shí)候,通過URL或其他傳參,我們就可以還原到Ajax之前的模樣。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/51801.html

相關(guān)文章

  • history和hash詳解

    摘要:另外該事件只針對同一個(gè)文檔,如果瀏覽歷史的切換,導(dǎo)致加載不同的文檔,該事件不會(huì)被觸發(fā)使用的時(shí)候,可以為事件指定回調(diào)函數(shù)或者回調(diào)函數(shù)的參數(shù)是一個(gè)事件對象,它的屬性指向和方法為當(dāng)前所提供的狀態(tài)對象即這兩個(gè)方法的第一個(gè)參數(shù)。 一、history window.history(可直接寫成history)指向History對象,它表示當(dāng)前窗口的瀏覽歷史。History對象保存了當(dāng)前窗口訪問過的所...

    marser 評論0 收藏0
  • 從路由原理出發(fā),深入閱讀理解react-router 4.0的源碼

    摘要:通過前端路由可以實(shí)現(xiàn)單頁應(yīng)用本文首先從前端路由的原理出發(fā),詳細(xì)介紹了前端路由原理的變遷。接著從的源碼出發(fā),深入理解是如何實(shí)現(xiàn)前端路由的。執(zhí)行上述的賦值后,頁面的發(fā)生改變。 ??react-router等前端路由的原理大致相同,可以實(shí)現(xiàn)無刷新的條件下切換顯示不同的頁面。路由的本質(zhì)就是頁面的URL發(fā)生改變時(shí),頁面的顯示結(jié)果可以根據(jù)URL的變化而變化,但是頁面不會(huì)刷新。通過前端路由可以實(shí)現(xiàn)...

    Miyang 評論0 收藏0
  • history api看主流框架的路由機(jī)制

    摘要:前端路由庫的作用是改變地址欄,支持瀏覽器前進(jìn)后退,并同步路由對應(yīng)的視圖,這里以及其依賴的庫說一下路由機(jī)制原文地址前提首先簡單介紹一下前端路由機(jī)制所依賴的事件及對應(yīng)的事件對于支持新增方法的瀏覽器,可以通過設(shè)置來在瀏覽器棧中新增一條記錄設(shè)置時(shí) 前端路由庫的作用是改變地址欄,支持瀏覽器前進(jìn)、后退,并同步路由對應(yīng)的視圖,這里以react-router及其依賴的history庫說一下路由機(jī)制 原...

    Lyux 評論0 收藏0
  • history和hash,vue-router

    摘要:另外該事件只針對同一個(gè)文檔,如果瀏覽歷史的切換,導(dǎo)致加載不同的文檔,該事件不會(huì)被觸發(fā)使用的時(shí)候,可以為事件指定回調(diào)函數(shù)或者回調(diào)函數(shù)的參數(shù)是一個(gè)事件對象,它的屬性指向和方法為當(dāng)前所提供的狀態(tài)對象即這兩個(gè)方法的第一個(gè)參數(shù)。 history window.history(可直接寫成history)指向History對象,它表示當(dāng)前窗口的瀏覽歷史。History對象保存了當(dāng)前窗口訪問過的所有頁...

    godiscoder 評論0 收藏0
  • JS中最容易被輕視的對象----location和history

    摘要:最近開始移動(dòng)端頁面的時(shí)候,被和坑了一把,于是決定對這兩個(gè)對象進(jìn)行一個(gè)全面的剖析。但出于隱私方面的原因,對象不再允許腳本訪問已經(jīng)訪問過的實(shí)際。唯一保持使用的功能只有和方法。華為執(zhí)行完之后,我們發(fā)現(xiàn)不能回退了,是不是就跟實(shí)現(xiàn)同樣的效果了。 最近開始移動(dòng)端頁面的時(shí)候,被window.location和window.history坑了一把,于是決定對這兩個(gè)對象進(jìn)行一個(gè)全面的剖析。下面進(jìn)行我們的...

    xumenger 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<