15

由于 Twitter 和 Gawker 使用 hashbang url 的所有负面新闻,我很难找到任何示例/库来了解如何实际使用它们。

我想在我们网站的 javascript 轮播中使用 hashbang url,这样我们就可以直接链接到轮播的特定页面。

是否有任何好的跨浏览器库或示例(最好是非 jQuery,因为我们使用 Prototype)来将新 url 推送到页面位置并在页面加载时解析 url?

4

4 回答 4

6

我们一直在开发一个执行 URL 路由映射的库:https ://github.com/OpenGamma/RouteMap如果您仍在寻找一个。

于 2011-03-30T15:33:23.757 回答
1

Sammy.js使用它们来创建处理程序,就像Sinatra中使用的处理程序一样。

于 2011-02-17T06:09:35.800 回答
0

https://github.com/browserstate/History.js 我没有使用它的经验,因为我使用 BBQ Jquery,但它看起来应该可以解决你的问题。

于 2011-02-16T19:51:32.217 回答
0

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);

然后导航到页面中的一些散列网址,您应该在控制台中看到更改后的散列作为日志。

于 2012-08-26T23:08:06.590 回答