gpt4 book ai didi

javascript - 如何在不重新加载和 #hack 的情况下更改窗口的位置?

转载 作者:可可西里 更新时间:2023-11-01 01:17:58 25 4
gpt4 key购买 nike

起初我认为 hash hack 是一项要求,但从 facebook 最近的更新来看,我不这么认为。

最初的 hash hack(我不确定这是不是正确的术语)是通过更改 location.hash,可以在 URL 中保存状态而不刷新页面。这被谷歌的应用程序、Facebook 以及最近的#NewTwitter 广泛使用。然而今天我注意到,如果你使用“现代”浏览器——比如 chrome 或 firefox,Facebook 不再有这个“#”。我仔细检查过它们没有分别使用开发人员工具和 Firebug 重新加载。

通过在 stackoverflow 中进行最少的搜索,最接近解决方案的方法是使用 Flash - 但是我禁用了 Flash 并且 facebook.com 仍然很有魅力。从 chrome 8 dev 和 firefox 4 beta 的覆盖范围来看,我想知道这可能与 HTML5 时代的 API 相关,但 Facebook 中的代码不是我调试以找出它们做了什么的能力。

因为这就像我在这里问的第一个问题,不知道你们中是否有人已经解决了这个问题。

谢谢你们。

附言不适用于 IE8,尚未在 IE9 测试版上测试。

最佳答案

Facebook 在 HTML5 中使用 history api。来自 this blog post你可以看到这是如何工作的。基本上,他们会像下面这样调用来更改 url 而无需重新加载页面。

window.history.pushState("object or string", "Title", "/new-url");

这是关于它的 HTML5 工作规范草案:http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#the-location-interface

遗憾的是,IE9 不支持此 api。新版本的 Chrome 和 FF 得到全面支持。

关于javascript - 如何在不重新加载和 #hack 的情况下更改窗口的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3997181/

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