У меня проблема с магистральным маршрутизатором и pushState.
Вот мой роутер: https://gist.github.com/1672111
Ну, у меня есть пара представлений, моделей, коллекций, маршрутизаторов с pushState, это работает как шарм.
Если пользователь перейдет на /item
(или даже в root (/
)), Nodejs отобразит всю страницу (мы не знаем, включен ли у пользователя javascript или googlebot зачищает страницу).
Но если у пользователя включен javascript, то будет запущен маршрут Backbone, и страница будет перерисована после вызова ajax. Я знаю, что это (вызов ajax) необходимо, но что мне делать?
В связи с этим я должен позвонить $( this.el ).hide()
, чтобы скрыть перерисовку?
На стороне сервера я не должен отображать основной контент только макет? В этом случае я должен дать другой контент для googlebot и просто макет для обычных пользователей? (ИМХО не лучшее решение)
Наконец, мне нужно привязать метод рендеринга к событию изменения модели, потому что у ie8 пользователей нет pushstate, поэтому они используют навигацию на основе хеша, которая не отправляется на серверную часть.
спасибо
К вашему сведению: это кросс-пост из списка рассылки backbonejs: https://groups.google.com/group/backbonejs/browse_thread/thread/17c708f4429dcd73