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

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

在窗口。位置.變化?

在窗口。位置.變化?

慕森卡 2019-06-05 14:47:42
在窗口。位置.變化?我使用Ajax和哈希進(jìn)行導(dǎo)航。是否有方法檢查window.location.hash就這樣改變了?http://example.com/blah#123到http://example.com/blah#456如果我在加載文檔時檢查它,它就能工作。但是如果我有基于#散列的導(dǎo)航,當(dāng)我按下瀏覽器上的后退按鈕(所以我從blah#456跳到blah#123)時,它就不能工作了。它顯示在地址欄中,但我無法用JavaScript捕捉它。
查看完整描述

3 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊

真正做到這一點(diǎn)的唯一方法(也就是‘ReallysimpleHistory’如何做到這一點(diǎn)),是通過設(shè)置一個時間間隔來檢查當(dāng)前的散列,并將其與以前的哈希進(jìn)行比較,我們這樣做并讓訂閱者訂閱我們在哈希更改時觸發(fā)的更改事件。它并不完美,但瀏覽器實(shí)際上并不支持這個事件。


更新以保持此答案新鮮:

如果您正在使用jQuery(對于大多數(shù)人來說,jQuery現(xiàn)在應(yīng)該是基礎(chǔ)的),那么一個很好的解決方案就是使用jQuery提供的抽象,使用它的事件系統(tǒng)來偵聽窗口對象上的散列事件。

$(window).on('hashchange',?function()?{
??//..?work?..});

這里的好處是,您可以編寫甚至不需要擔(dān)心hashchange支持的代碼,但是您確實(shí)需要做一些神奇的工作,其形式是不太為人所知的jQuery特性。

通過這個特性,您基本上可以為任何事件運(yùn)行一些設(shè)置代碼,這是第一次有人試圖以任何方式使用事件(例如綁定到事件)。

在此設(shè)置代碼中,您可以檢查本地瀏覽器的支持,如果瀏覽器沒有本機(jī)實(shí)現(xiàn)這一點(diǎn),則可以設(shè)置一個計(jì)時器來輪詢更改,并觸發(fā)jQuery事件。

這完全解除了您的代碼對此支持問題的理解,這類特殊事件的實(shí)現(xiàn)非常簡單(獲得一個簡單的98%的工作版本),但為什么要這樣做呢?


查看完整回答
反對 回復(fù) 2019-06-05
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個贊

HTML 5指定hashchange事件..這個事件現(xiàn)在所有現(xiàn)代瀏覽器都支持..在下列瀏覽器版本中添加了支持:

  • Internet Explorer 8
  • Firefox 3.6
  • 鉻5
  • 狩獵5
  • 歌劇10.6


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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