由于 Twitter 和 Gawker 使用 hashbang url 的所有负面新闻,我很难找到任何示例/库来了解如何实际使用它们。
我想在我们网站的 javascript 轮播中使用 hashbang url,这样我们就可以直接链接到轮播的特定页面。
是否有任何好的跨浏览器库或示例(最好是非 jQuery,因为我们使用 Prototype)来将新 url 推送到页面位置并在页面加载时解析 url?
由于 Twitter 和 Gawker 使用 hashbang url 的所有负面新闻,我很难找到任何示例/库来了解如何实际使用它们。
我想在我们网站的 javascript 轮播中使用 hashbang url,这样我们就可以直接链接到轮播的特定页面。
是否有任何好的跨浏览器库或示例(最好是非 jQuery,因为我们使用 Prototype)来将新 url 推送到页面位置并在页面加载时解析 url?
我们一直在开发一个执行 URL 路由映射的库:https ://github.com/OpenGamma/RouteMap如果您仍在寻找一个。
https://github.com/browserstate/History.js 我没有使用它的经验,因为我使用 BBQ Jquery,但它看起来应该可以解决你的问题。
Google Closure Library 有一个非常酷的浏览器历史堆栈实现。您可以从这里访问历史源代码。
要使用 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);
然后导航到页面中的一些散列网址,您应该在控制台中看到更改后的散列作为日志。