JavaScript最佳实践:如何实现长期存在的应用程序(单页Web应用程序)?

时间:2010-11-25 08:12:44

标签: javascript design-patterns

是否有实施长期JavaScript应用程序的最佳实践,即包含单个页面并通过AJAX将其他页面加载到内容区域的Web应用程序? (Gmail就是一个很好的例子。)

我已经阅读过关于pro和cons,SEO,性能等的内容(http://stackoverflow.com/questions/1499129/one-page-only-javascript-applications),我对模式如何实现感兴趣此

我想避免使用大型框架(例如Cappuccino,Echo2,SproutCore,Claypool)。

如何在维护URL的#link部分(用于书签)的同时动态加载内容?

不要误会我的意思,我知道如何自己实现这个,但这个问题必须先解决。

有关于此的文章吗?也许是一个很小的JavaScript库?

谢谢! 标记

3 个答案:

答案 0 :(得分:0)

这篇文章可以帮助您解决历史书签问题:http://codinginparadise.org/weblog/2005/09/ajax-dhtmlhistory-and-historystorage.html。它已经很老了,但解决方案仍然有效。

我使用这个“长寿”应用程序制作了几个应用程序,你应该考虑的一件事是IE倾向于泄漏内存。

我还建议你使用JS库,比如JQuery来帮助你使用AJAX和DHTML。

答案 1 :(得分:0)

听说过javascript pushstate?

http://badassjs.com/post/840846392/location-hash-is-dead-long-live-html5-pushstate

这意味着要替换location.hash

答案 2 :(得分:0)

我发现JQuery Address http://www.asual.com/jquery/address/非常容易设置。 $.address.change()让你知道每当被点击的东西(也来回使用),你只需解析self.location.hash并从那里构建你的应用程序。如果你可以使用JQuery处理它似乎也足够轻。