由于对Twitter和Gawker使用hashbang网址的所有负面消息,我很难找到任何关于如何实际使用它们的示例/库。
我想在我们网站的javascript轮播中使用hashbang网址,以便我们可以直接链接到轮播的特定页面。
是否有任何好的跨浏览器库或示例(最好是非jQuery,因为我们使用Prototype)既可以将新网址推送到页面位置,也可以解析页面加载时的网址?
答案 0 :(得分:6)
我们一直在开发一个执行URL路由映射的库:https://github.com/OpenGamma/RouteMap如果您还在寻找它。
答案 1 :(得分:1)
答案 2 :(得分:0)
https://github.com/browserstate/History.js我没有经验,因为我使用BBQ Jquery,但它看起来应该可以解决你的问题。
答案 3 :(得分:0)
Google Closure Library有一个非常酷的浏览器历史记录堆栈实现。您可以访问历史源代码from here。
要使用Closure Library历史记录管理器,您应该定义一个隐藏的输入。有诀窍。如果您没有为类提供输入字段,它将为您创建一个输入字段,但由于跨浏览器支持,它将尝试使用document.write
将其附加到DOM。最好的方法是提供隐藏的输入。
这是goog.History的简单实现。
var history = new goog.History(false, '', document.getElementById('historyInput'));
goog.events.listen(history, goog.history.EventType.NAVIGATE, function() {
console.log(history.getToken());
});
history.setEnabled(true);
然后导航到页面中的一些散列网址,您应该在控制台中看到已更改的哈希值作为日志。