【发布时间】:2011-04-14 10:52:36
【问题描述】:
我知道标题有点模糊和包罗万象,所以请让我试着缩小范围。
我想要的是关于如何开发一个主要是 Ajax 的网站的建议,其中部分 UI 是异步加载的。关键是:我想让浏览器的后退/前进按钮直观地工作——Facebook 已经做得很好。
有人知道 Facebook 使用哪些库和设计模式吗?考虑到他们做得很好,将它们用作模型会很有意义,而不是试图重新发明轮子。
我注意到 url 哈希中有很多内容:
http://www.facebook.com/home.php?#!/home.php?sk=bd
我确信他们这样做一定有充分的理由,如果我可以利用它,我不会感到惊讶。有人能指出他们在这里完成了什么,以及?#!/home.php?sk=bd 的每一部分的用途吗?我特别惊讶地看到home.php?sk=bd,当加载的原始页面是home.php - 这也许是他们允许链接到特定“页面”的方式,尽管整个事情都是由home.php提供的?
解决每个问题并不那么重要 - 我只是想传达我无法理解的问题 - 如果您愿意的话,请了解“更大的图景”。如果有人能给我一个更全面的答案,那就太棒了(尤其是如果你能告诉我如何使用 ASP.NET MVC 来完成)。
提前致谢!
【问题讨论】:
-
不是答案,但我相信复制哈希中的路径是一种解决方案,用户无需编写脚本即可在单击链接/书签后查看某些相关页面(如果不是正确的页面)。
-
哦,顺便说一句#!是 Google 使用的 unescape。注意这一点非常重要,因为您将创建一个 AJAX 站点。更多信息在这里:searchengineland.com/… 请注意,它当然已经有效。
-
“#!”的用途这样就可以使用 Javascript 修改 URL,而无需浏览器强制重新加载页面。这样,您可以修改浏览器 URL 以匹配您的 AJAX 调用,而无需重新加载页面。
标签: javascript asp.net asp.net-mvc ajax