gpt4 book ai didi

javascript - 历史事件 - hash(#) 类型的 url

转载 作者:行者123 更新时间:2023-11-28 21:13:01 25 4
gpt4 key购买 nike

首先我对使用某些jquery插件不感兴趣。我只是想知道他们是如何实现的,这样我就可以创建一个这样的脚本。

在 html5 历史中,我们使用 window.onpopstate 事件来检测后退/前进浏览器事件。我想要的是创建这样的东西,这样我就可以将 hash 类型的 url 用于不支持 html 5 的其他浏览器

像这样:

if(history.pushState){
//use html5 history event
window.onpopstate = function(event){that.__loadCurrentLink();};
}else{
//use the History event for other browser
window.historyEvent = function(event){that.__loadCurrentLink();};
}

你们能给一些提示或任何东西,这样我就会知道如何做到这一点。

我这样做只是为了学习目的,也是为了其他也想知道如何做到这一点的人。我希望一些 javascript 怪物可以给我们带路。

最佳答案

为 window 的 hashchange 事件分配一个事件处理程序,并使用 setInterval 让旧版浏览器每 100 毫秒轮询一次 window.location.hash等等,因此当不支持 hashchange 时,您可以获得几乎最新的哈希值。

我还建议编写链接、按钮等来调用在 mouseup 上检查哈希值的函数,这样当您单击更改哈希值的链接时,可以保证几乎没有延迟。

浏览器中的 Hashchange 支持:caniuse.com

关于javascript - 历史事件 - hash(#) 类型的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com