Как передать тесты возможностей на основе javascript на сервер и сделать так, чтобы сервер отправлял разметку на основе результатов тестов - PullRequest
0 голосов
/ 19 сентября 2011

Я рассматриваю возможность тестирования возможностей / возможностей с помощью JS и отправки результатов обратно на сервер, чтобы он знал, что он может / не может отправить клиенту.

Это та же идея, что и у сервера Modernizr - https://github.com/jamesgpearce/modernizr-server

Проблема, с которой я сталкиваюсь, - это передача результатов JavaScript обратно на сервер при начальной загрузке страницы.Я не уверен, какие варианты доступны, но я знаю, что не так много.Я протестировал установку cookie и мгновенную перезагрузку страницы, чтобы PHP мог прочитать результаты, но я обеспокоен с точки зрения SEO.Кажется, что мгновенная перезагрузка страницы будет иметь некоторые негативные последствия, также я особенно обеспокоен, если обновление происходит на странице, которая имеет форму.Как только cookie установлен и пользователь переходит на другую страницу, он работает нормально, он просто выясняет, как обслуживать контент при начальной загрузке страницы на основе тестов возможностей.У меня было несколько разных мыслей, например, просто использовать JS для обслуживания разметки при начальной загрузке страницы и позволить PHP читать cookie при последующих загрузках страницы, но я просто не уверен, что может быть лучшим решением.

Я просто в растерянности относительно других вариантов.Я не знаю, в каком направлении я должен смотреть или есть ли какое-либо направление вообще.Я не знаю, сможет ли AJAX помочь с этим или нет.Я чувствую, что я близко, но подумал, может быть, если я спрошу у сообщества, у кого-нибудь может быть хорошее решение.

Спасибо!

1 Ответ

1 голос
/ 19 сентября 2011

modernizr-server использует метод, который вы описали, он устанавливает cookie и затем перезагружает страницу. (На самом деле, он не производит никакого вывода контента, единственной вещью при начальной загрузке страницы является сам JavaScript. Имеет выход; заявление, если искомый cookie не найден.) Любой, у кого отключен JavaScript, может ожидать пустая страница с ним.

Похоже, у вас есть несколько вариантов (это не исключение, есть и другие):

  1. Установите cookie, а затем перезагрузите.
  2. Установите cookie, а затем используйте AJAX для получения содержимого начальной страницы. (Как вы упомянули)
  3. Установите ожидаемый базовый уровень поддержки (возможно, не ожидайте никакой поддержки JavaScript) и используйте его при начальной загрузке страницы. Если у них включен JavaScript, вы можете либо перезагрузить, либо использовать AJAX, чтобы сообщить своему серверу, что он поддерживает, а затем перезагрузить куски (или все) начальной страницы.
  4. Предоставление контента без javascript только поисковым системам, используйте опцию 1 или 2 для всех остальных.

Вариант три здесь является наиболее трудоемким, но, вероятно, наиболее инклюзивным. (Изменить: 3 и 4 обеспечат, чтобы поисковые системы видели ваш контент)

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