XML, XSLT и JavaScript - PullRequest
       17

XML, XSLT и JavaScript

0 голосов
/ 01 ноября 2009

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

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

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

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

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

Поэтому мои вопросы:

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

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

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

Ответы [ 2 ]

1 голос
/ 01 ноября 2009

Можно ли вообще делать то, о чем я думаю?

Конечно.

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

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

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

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

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

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

0 голосов
/ 13 апреля 2011

возможно, следующий сценарий подойдет вам:

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

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

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

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

вот и все.

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