Включение динамического контента на статической HTML-странице - PullRequest
0 голосов
/ 26 марта 2011

Я заметил на веб-сайтах, таких как IGN и Gamespot, что их тематические статьи и обзорные страницы представляют собой HTML (.html) с динамическим контентом, например комментариями пользователей, на странице.

Как они включают этот типдинамическое содержимое на статической HTML-странице?

Если я отключу Javascript и увижу одну из их страниц, динамическое содержимое исчезнет, ​​поэтому я предполагаю, что это сделано с помощью Javascript.

Я заинтересован в обслуживаниипохожий контент и хотел бы делать это через HTML вместо динамической страницы PHP со всем, что хранится в базе данных (за исключением таких вещей, как комментарии).

Надеюсь, что имеет смысл.

Ответы [ 4 ]

2 голосов
/ 26 марта 2011

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

Если вы хотите что-то подобное на своем собственном сайте, обратитесь к таким службам, как Disqus , которые хранят комментарии на своих серверах и получают их с помощью Javascript.

1 голос
/ 26 марта 2011

Когда у вас отношения клиент-сервер, в фоновом режиме часто происходит много вещей.

Например, Apache можно настроить так, чтобы он анализировал любое «расширение файла» с окончанием файла .xxx как PHP. Таким образом, вы можете настроить свой экземпляр Apache для анализа PHP внутри файлов .html так же, как это было бы с файлами .php:

http://www.electrictoolbox.com/apache-parse-html-as-php/

Кроме того, вы можете предоставлять браузеру различные «типы контента», чтобы страница, обработанная PHP, могла отправлять, например, содержимое PDF в браузер:

http://php.net/manual/en/function.header.php

Теперь, возможно, более простой способ - использовать Переписать Apache , чтобы принять запрос URL-адреса и переписать его на страницу PHP, а остальная часть запроса URL-адреса будет добавлена ​​в качестве атрибутов запроса, например в модели. -Просмотр шаблона контроллера:

http://expressionengine.com/wiki/Remove_index.php_From_URLs/

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

Так что URL, такой как http://www.example.com/article/feature/my_story.html, будет фактически виден анализатором PHP сервера как http://www.example.com/index.php?class=article&method=feature&id=my_story.html

И затем вы можете использовать методы AJAX для конкретного обновления части страницы, как уже упоминалось в других ответах.

1 голос
/ 26 марта 2011

Не знаю, но думаю, это JavaScript ajax.Есть несколько решений, которые могут сделать это, но JavaScript - лучший, посмотрите MooTools (мой личный фаворит) и JQuery.

1 голос
/ 26 марта 2011

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

...