日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Jquery 禁用浏览器的 后退和前进按钮

發布時間:2023/12/20 HTML 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jquery 禁用浏览器的 后退和前进按钮 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用js,Jquery 禁用瀏覽器的back 和 next 按鈕:

有時為了防治用戶亂了訪問順序,不得不禁掉瀏覽器的前進后退按鈕。

jQuery(document).ready(function () {if (window.history && window.history.pushState) {$(window).on('popstate', function () {
                /// 當點擊瀏覽器的 后退和前進按鈕 時才會被觸發, window.history.pushState('forward', null, ''); window.history.forward(1);});}
          //window.history.pushState('forward', null, ''); //在IE中必須得有這兩行window.history.forward(1); });

?這段代碼主要使用js的window.history ?對象;介紹一下history的幾個比較重要的方法:

1、window.history.forward(); ? //加載下一個頁面(瀏覽過的) ,和瀏覽器上的 前進按鈕 效果相同

2、window.history.back(); ? ?//回到上一個頁面 , 和瀏覽器上的 后退按鈕效果相同

ps: 如果瀏覽的網頁有緩存, 當點擊瀏覽器上的 前進和后退 按鈕時, 是優先加載瀏覽器的緩存數據,(重要一點是:不走服務器端代碼,如果在服務器端代碼加斷點,是不過斷點的, 這也是緩存的一個弊端,有時候容易導致表單中的數據錯亂掉,不能及時更新,)

3、history.go(0); ? ?//刷新當前頁面 和瀏覽器上的 刷新 按鈕效果相同

history.go(-1): 效果和history.back() 效果相同

history.go(1) : 效果和history.forward() 效果相同

PS: ?js history對象示例代碼

?

4、window.history.pushState(狀態碼, 標題 , url) ? ///?添加并激活一個歷史記錄條目, 向history 添加當前頁面的歷史記錄,并修改當前頁面的url。

舉個例子:

假如當前頁面的url是:http://localhost:28713/SBNext/index.aspx

執行:window.history.pushState('forward', null, 'badu.aspx'); ? ?

結果:?在瀏覽器歷史記錄中添加一條記錄http://localhost:28713/SBNext/index.aspx。當前頁面的url變成http://localhost:28713/SBNext/badu.aspx?,但是不會刷新頁面,也不會檢查url是否正確。 ?這時如果點擊 瀏覽器的back按鈕會回退到http://localhost:28713/SBNext/index.aspx頁面, 還是當前頁面。 所以這就是上面禁用back按鈕 的原理。

?

5、History.replaceStatet(); ? 參數和pushState()函數一樣, 作用替換當前的url。

6、每當激活的歷史記錄發生變化時,都會觸發popstate事件 , 點擊瀏覽器的back 和 next 按鈕會觸發popstate事件 , 點擊刷新按鈕不會。

所以可以使用?popstate 事件監聽 back 和next 按鈕是否被點擊。

?

?

轉載于:https://www.cnblogs.com/generalLi/p/5887259.html

總結

以上是生活随笔為你收集整理的Jquery 禁用浏览器的 后退和前进按钮的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。