Рекомендации JavaScript: как реализовать долгоживущие приложения (одностраничные веб-приложения)? - PullRequest
9 голосов
/ 25 ноября 2010

Существуют ли передовые практики для реализации долгоживущего приложения JavaScript, то есть веб-приложения, которое состоит из одной страницы и загружает другие страницы в область контента через AJAX?(Gmail является хорошим примером этого.)

Я уже читал о плюсах и минусах, SEO, производительности и т. Д. (http://stackoverflow.com/questions/1499129/one-page-only-javascript-applications), Мне интересны шаблоны, как это реализовать.

Я бы хотел избежать больших фреймворков (например, Cappuccino, Echo2, SproutCore, Claypool).

Как бы я управлял динамической загрузкой контента, поддерживая часть URL-адреса #link (для закладок)?

Не поймите меня неправильно, у меня есть идея, как реализовать это самостоятельно, но эта проблема должна быть решена раньше.

Есть ли статьи по этому поводу? Может быть, крошечная библиотека JavaScript?

Спасибо! Марк

Ответы [ 3 ]

0 голосов
/ 25 ноября 2010

Слышали о javascript pushstate?

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

Он предназначен для замены location.hash

0 голосов
/ 30 ноября 2010

Я нашел JQuery Address http://www.asual.com/jquery/address/ чрезвычайно простым в настройке.$.address.change() дадим вам знать, когда что-то щелкнуло (работает и туда-сюда), и вы просто проанализируете self.location.hash и создадите свое приложение оттудаЭто кажется достаточно легким, если вы можете справиться с помощью JQuery.

0 голосов
/ 25 ноября 2010

Вот статья, которая поможет вам решить проблему закладок «История»: http://codinginparadise.org/weblog/2005/09/ajax-dhtmlhistory-and-historystorage.html. Она довольно старая, но решение все еще работает.

Я создал несколько приложений, использующих эти «долгоживущие» приложения, и одну вещь, которую вы должны принять во внимание, это тенденция IE к утечке памяти.

Я бы также порекомендовал вам использовать библиотеку JS, например JQuery, чтобы помочь вам с AJAX и DHTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...