如何在不重新加载基于主题标签片段的页面的情况下加载新内容?

时间:2013-04-28 22:41:12

标签: javascript

想象一下我在:

http://example.com/

我点击包含hashbang fragment identifier的链接,让我们说:

http://example.com/#!/login

我希望它能在不重新加载页面的情况下显示登录表单。这是怎么做到的?

2 个答案:

答案 0 :(得分:2)

查看jQuery Ajax以了解如何在不刷新页面的情况下加载新内容,然后转到BackboneJS并使用其路由器来使哈希工作正常工作。

修改

这是一个tutorial,我不会为你写一个。但它归结为拥有一个能够为您提供所需内容的服务器端(登录形式),无论是异步还是同步都是如此。然后使用一个Backbone路由器来读取哈希爆炸并根据这个哈希爆炸调用正确的JavaScript函数,这个JavaScript函数应该存在于一个Backbone Controller中,它应该处理一个新的Backbone View的实例化并将它添加到DOM 。 Backbone View可以添加到预定义的Backbone区域,并且可以加载UnderscoreJS模板以使事情变得更加容易。

答案 1 :(得分:0)

如果您想要一个更简单的解决方案,您应该在这里看一下另一个简明的答案:Handle URL anchor change event in js。总而言之,您会定期检查window.location.hash是否有更改并运行您的javascript以显示登录内容。