【发布时间】:2011-04-29 04:07:11
【问题描述】:
起初我认为 hash hack 是必需的,但从 facebook 最近的更新来看,我不这么认为。
最初的 hash hack(我不确定这是否是正确的术语)是通过更改 location.hash,可以在不刷新页面的情况下在 URL 中保存状态。这被谷歌的应用程序、Facebook 以及最近的#NewTwitter 广泛使用。但是今天我注意到如果您使用“现代”浏览器(如 chrome 或 firefox),Facebook 不再有这个“#”。我分别使用开发者工具和萤火虫仔细检查了它们没有重新加载。
通过在 stackoverflow 中进行最少的搜索,最接近解决方案的是使用 Flash - 但是我禁用了 Flash 并且 facebook.com 仍然像魅力一样工作。 从 chrome 8 dev 和 firefox 4 beta 的覆盖率来看,我想知道这可能与 HTML5 时代的 API 有关,但我无法调试 Facebook 中的代码以了解它们的作用。
既然这就像我在这里问的第一个问题,我想知道你们中是否有人已经解决了这个问题。
谢谢大家。
附:无法在 IE8 上运行,尚未在 IE9 beta 上测试。
【问题讨论】:
-
什么“不适用于 IE8”? :) 这包含在 Google 的 AJAX 抓取指南中。他们在gwt.google.com/samples/Showcase/Showcase.html 有一个展示柜,可能在这里有用。
-
我不知道这是否是答案,但HTML5中有client-side data storage。也许这被利用了。在 Safari(我假设是 Chrome)中,开发人员工具有一个“存储”部分。也许这会给出一些提示。
标签: javascript ajax facebook url history