第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法在javascript中捕獲后退按鈕事件?

有沒有辦法在javascript中捕獲后退按鈕事件?

繁星coding 2019-09-02 15:44:58
當(dāng)只有位置哈希改變時,有沒有辦法在javascript中響應(yīng)后退按鈕被擊中(或按下退格鍵)?也就是說當(dāng)瀏覽器沒有與服務(wù)器通信或重新加載頁面時。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經(jīng)驗 獲得超8個贊

使用hashchange活動:


window.addEventListener("hashchange", function(e) {

  // ...

})

如果您需要支持舊版瀏覽器,請查看Modernizr的HTML5 Cross Browser Polyfills維基頁面中的“ hashChange事件”部分。



查看完整回答
反對 回復(fù) 2019-09-02
?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

我已經(jīng)創(chuàng)建了一個可能對某些人有用的解決方案。只需在頁面上包含代碼,您就可以編寫自己的函數(shù),單擊后退按鈕時將調(diào)用該函數(shù)。


我已經(jīng)在IE,F(xiàn)F,Chrome和Safari中進行了測試,并且都在運行。我已經(jīng)基于iframe工作的解決方案,而不需要在IE和FF中進行常量輪詢,但是,由于其他瀏覽器的限制,位置散列在Safari中使用。


查看完整回答
反對 回復(fù) 2019-09-02
?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

我做了一個有趣的黑客來解決這個問題讓我滿意。我有一個動態(tài)加載內(nèi)容的AJAX站點,然后修改window.location.hash,我有代碼在$(document).ready()上運行來解析哈希并加載相應(yīng)的部分。問題是我對我的部分加載導(dǎo)航代碼感到非常滿意,但是想添加一種攔截瀏覽器后退和前進按鈕的方法,這會改變窗口位置,但不會干擾我操作當(dāng)前頁面加載例程window.location,以及以固定間隔輪詢window.location是不可能的。


我最終做的是創(chuàng)建一個對象:


var pageload = {

    ignorehashchange: false,

    loadUrl: function(){

        if (pageload.ignorehashchange == false){

            //code to parse window.location.hash and load content

        };

    }

};

然后,我在我的站點腳本中添加了一行來pageload.loadUrl在hashchange事件上運行該函數(shù),如下所示:


window.addEventListener("hashchange", pageload.loadUrl, false);

然后,任何時候我想修改window.location.hash不觸發(fā)此頁面加載例程,我只需在每window.location.hash =行之前添加以下行:


pageload.ignorehashchange = true;

然后在每個哈希修改行之后的下一行:


setTimeout(function(){pageload.ignorehashchange = false;}, 100);

所以現(xiàn)在我的部分加載例程通常在運行,但是如果用戶點擊“后退”或“前進”按鈕,則會解析新位置并加載相應(yīng)的部分。


查看完整回答
反對 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 469 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號