单页JavaScript应用的唯一网址?

时间:2012-05-01 02:52:29

标签: javascript

如何为单页JavaScript应用生成唯一网址。

网址应该像普通网址一样,即将其粘贴到浏览器中,并且应该使用该特定视图加载应用,前提是用户具有权限。 Gmail会这样做,其他许多人都这样做。

我猜它会涉及读取位置哈希值并适当地执行操作。

对于未来的项目,是否有任何框架可以内置此功能?

谢谢, 斯

3 个答案:

答案 0 :(得分:3)

你可以试试BackboneJs,我相信你有几百万个功能http://documentcloud.github.com/backbone/

答案 1 :(得分:1)

我不会在哈希值上构建它。使用history.pushState等来构建真实的自然网址。使用重写可以请求站点上的任何常规资源由单个处理器处理。然后onload,只需检查URL中的某些哈希,其中包含用于构建该资源的控制器。此外,您可以构建URL,因此在单页方案中它们实际上是允许半动态URL的正则表达式值。

urls = {
  { url : "/content/id/(\d)*?/", controller : controllers.blah }
  { url : "/home/", controller : controller.home }
}
controllers : {
  blah : function() {
    // do stuff
  },
  home : function() {
    // do stuff
  }
}

显然它变得复杂得多,但这是我用来创建我的javascript one pager的方法。此外,在页面加载时,我将运行一个jQuery调用,它具有所有内部链接点击,以通过页面在页面加载时使用的完全相同的处理器运行,从而有效地劫持它们。

答案 2 :(得分:0)

有一个名为DerbyJS(http://derbyjs.com)的JavaScript框架,可以完全支持你想要的内容。