簡體   English   中英

使用jQuery刪除瀏覽器歷史記錄

[英]Delete browser history using jQuery

我有一個基於jQuery的ajax應用程序。 我使用jQuery歷史插件啟用了瀏覽器歷史記錄 但我們發現該應用程序產生了太多的歷史。

特別是,我們提供了一個頁內“ajax-back”按鈕,使頁面能夠返回到先前的ajax狀態。 當按下頁面內的“ajax-back”按鈕時,我們希望它像broswer后退按鈕一樣,通過移動歷史記錄的當前索引,或刪除最新的歷史記錄,插入新的歷史記錄的instand。

所以,我想問一下, 是否可以從javascript中刪除最新的瀏覽器記錄? 或者是否可以修改瀏覽器歷史列表的當前索引?

將非常感謝基於jQuery歷史插件的示例。

很可能你不能輕易做你正在嘗試的事情。 有window.location.replace,它會轉到一個新的URL,並從歷史記錄中刪除當前頁面,但這是完整的頁面導航,幾乎肯定會破壞jQuery偽造歷史的方式。

可以使用window.history.go()更改歷史堆棧中的位置,它將整數偏移量記錄到歷史記錄中並導航到相關條目。 它根本不會修改堆棧,它只會讓你進入一個新的位置。 還有back()和forward()函數,它們分別調用-1和1。 這可能是你正在尋找的,雖然它不會修改堆棧,只是讓你在其中移動。

理想情況下,您會發現jQuery的插件不像jQuery.history那樣維護歷史記錄,而是提供了一個onhashchange抽象,而您的庫只會對哈希更改做出反應。 這樣,瀏覽器負責歷史堆棧,你不會遇到很多關於ajaxian歷史庫的瘋狂問題。

瀏覽器歷史記錄通常通過javascript以非常有限的方式訪問(以防止站點窺探/訪問該信息)。 簡短的回答 - 就我所知,你通過jquery無法獲得你想做的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM