4

我一直在寻找单页导航处理程序。Sammy.js 可以破解,所以我创建了一个带有正确导航的示例 SPA。到目前为止效果很好。(此外,Twitter 使用了 sammy.js 的事实..让我更好奇..):)

没有问题!!

环顾四周寻找替代品,发现 History.js 和 Nav.js 在同一行。

History.js - 尽可能遵循 HTML5 History API 为所有 HTML5 浏览器提供交叉兼容的体验(它们都实现了 HTML5 History API 略有不同,导致不同的行为,有时甚至是错误 - History.js 修复了这个问题,确保整个 HTML5 浏览器的体验如预期/相同/很棒)

Nav.js——允许您通过绑定左右箭头键来管理基于页面的导航。

Sammy.js——像 Sinatra 一样,Sammy 应用程序围绕“路由”展开。不过,Sammy 的路线略有不同。您不仅可以定义“get”和“post”路由,还可以将路由绑定到应用程序触发的自定义事件。

一切看起来都很好。

4

1 回答 1

0

我的观点如下(我喜欢 sammy.js,所以我在这里有偏见,没有客观的意见)。

History.js 全部在 HTML5 中 - 所以它删除了对 IE8 的所有支持,如下所示。这有时是可以接受的,但是,有时 - 不是。此外,我不完全确定在 gecko、trident、webkit(主要浏览器引擎)之间,它们都支持 HTML5 历史规范,没有任何差异。

所以对我来说,History.js 已经全力以赴。然后我们必须区分 Nav.js 和 Sammy.js;我不认为这是一场比赛。您在 Nav.js 中只有基于键盘的导航,并且由于不再使用 jQuery 的项目不多,您可以使用http://api.jquery.com/category/events/keyboard在 Sammy.js 中实现这一点-events/和特殊事件的特殊路线,意思是下一页/上一页或其他任何让你的山羊漂浮的东西。

Sammy.js是轻量级、高效、可扩展、可重用和完全跨浏览器兼容的。

于 2013-01-02T08:31:52.583 回答