2009-10-31 5 views
0

У меня возникли проблемы с выяснением того, как создать архитектуру сайта на странице.XML, XSLT и JavaScript

Основная идея заключается в том, что я бы использовал XSLT для ее представления, но вместо того, чтобы делать это классическим способом с помощью тегов XSL, я бы сделал это с помощью JavaScript. Поэтому каждая ссылка должна ссылаться на функцию JavaScript, которая будет изменять содержимое и меню страницы.

Причина, по которой я хочу это сделать, имеет возможность разрешить JavaScript динамически показывать каждую страницу, используя данные, представленные в первом, исходном XML-файле, вместо того, чтобы делать «полный» запрос сервера для конкретной страницы , который просто имеет слишком много недостатков.

Основная проблема заключается в том, что после поиска в Интернете решения для доступа к базовому XML-документу с помощью JavaScript я только нахожу решения для доступа к внешним файлам XML.

Я мог бы, конечно, просто «распечатать» все данные XML в массив JavaScript, полностью объявленный в заголовке документа, но я считаю, что это было бы очень и очень неприятное решение. И некрасиво, если на то пошло. Поэтому

Мои вопросы:

  • Возможно ли это делать то, что я мышление?
  • Будет ли SEO-friendly иметь все содержание страниц сайта загружено изначально в файле XML?

Моей альтернативой является динамическая загрузка содержимого конкретной страницы с использованием AJAX по требованию. Однако мне трудно найти способ, который был бы наименее оптимизированным для SEO. Я не могу представить, чтобы поисковая система выполняла любой JavaScript.

Мне очень жаль, если это неясно, но это действительно волнует меня.
Спасибо заранее.

ответ

1

Возможно ли сделать то, о чем я думаю?

Конечно.

Было бы целесообразно, чтобы все содержимое страниц веб-сайта загружалось первоначально в файл XML?

Нет, это было бы полное безумие.

Я не могу представить, чтобы поисковая система выполняла любой JavaScript.

Ну, вполне. Это также довольно плохо для доступности: браузеры, не поддерживающие JS, или браузеры с небольшой разницей в реализации JS (например, новые зарезервированные слова), которые заставляют ваш сценарий иметь ошибки и бум! нет страницы. И если вы не обеспечите правильную навигацию через хеш-ссылки, удобство использования также будет ужасным.

Создание контента на всех страницах в JavaScript может быть полезно для необработанных веб-приложений (позорно, GMail), но для сайта, ориентированного на контент, это будет в значительной степени катастрофическим.Вам, по существу, придется создавать одни и те же страницы с клиентской стороны для браузеров JS и на стороне сервера для всех других агентов, после чего вы потеряли преимущество делать все это на клиенте.

Возможно, лучше сделать это как SO: в первую очередь на основе HTML, но с прогрессивным улучшением на стороне клиента, чтобы выполнять полезные задачи, такие как проверка сервера на наличие обновлений и печать «анонимных вопросов».

+0

Вы, безусловно, знаете свой JavaScript ;-) Я думал, что так оно и есть. . С моей точки зрения, конечная точка должна заключаться в том, что гладкость в запросах страниц путем загрузки содержимого конкретных страниц не является SEO-совместимой (а также не имеет доступности, но я не согласен с вами в этом вопросе). Единственное, что меня беспокоит, это КАК Я могу получить доступ к базовому XML с помощью JavaScript? Не использовать его так, как я упоминал ранее, я вас обманываю. Спасибо за ответ, между прочим. –

+0

Это достаточно просто: быстрый запрос AJAX на серверный скрипт, который возвращает точную часть XML, необходимую для этой конкретной функции (либо XML, либо, как правило, в наши дни как JSON, чтобы сократить количество раздражающих, для записи XML-хоста на стороне клиента). – bobince

+0

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

0

может быть следующий сценарий работает для вас:

  1. браузер запрашивает файл XML.

  2. После загрузки xslt, связанный с файлом xml, выполняется. результат: ваш исходный html выводится вместе с тегом скрипта.

  3. в javascript, вызов ajax для текущего местоположения делается для получения «базового» xml-dom. с этого момента ваш javascript управляет всей обработкой xml.

  4. Вы убедитесь, что на шаге 3 xml снова не загружается с сервера, а берется из кеша браузера.

все.