Обновить страницу без экрана? - PullRequest
0 голосов
/ 28 марта 2012

Ладно, мне было интересно, как GMail и тому подобное могут обновлять электронные письма там, пока не исчезнет весь экран.

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

Это простой скрипт PHP, который показывает последние события, эти события хранятся в таблице MYSQL,Этот скрипт PHP затем вставляется для боковой панели.

Я хочу, чтобы боковая панель автоматически обновлялась.Он может обновляться с интервалом времени (например, каждые 10 секунд) или просто при добавлении нового события.

Я попытался обновить мета-версию, которая выполнялась каждые 5 секунд (в сценарии PHP) ...не работает хорошо, хотя.Каждые 5 секунд вся боковая панель гаснет, а затем снова появляется.Кроме того, колесо загрузки сайта будет постоянно появляться при каждом обновлении боковой панели.

Существует ли более простой способ сделать это?Может быть, использовать какой-либо тип события javascript для проверки новых событий, а затем выплевывать их вместо обновления всей страницы?

Спасибо за любую помощь!

РЕДАКТИРОВАТЬ: Хорошо, ребята, спасибоЗа помощь!Я получил это с AJAX!Однако сейчас я столкнулся с другой проблемой ... Пожалуйста, продолжайте читать ...

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

<div class="event">
<p>The event text</p>
<script type="text/javascript">
document.write(get_time(1332900003));
</script>
</div>

Это был бы HTML, фактически сохраненный в базе данных.Проблема в том, что AJAX захватывает этот код, выплевывает его (на страницу iframed), а затем фрагмент времени не выполняется (все остальное работает нормально).

Я бы предпочел использовать Javascript поверхPHP для отображения времени, потому что с JS вам не нужно беспокоиться о различиях в часовых поясах.

Есть ли способ исправить это?Еще раз спасибо за быстрые ответы!:)

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

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

Для простоты при создании масштабируемого программного обеспечения, даже для всего веб-сайта в целом, я бы предложил изучить библиотеку JavaScript, такую ​​как jQuery, Prototype, Dojo или тому подобное. Мой личный вкус - jQuery, так как, по моему мнению, он очень стабилен, имеет большое сообщество поддержки, и все вокруг легко освоить.

Это поможет быстро разработать код на основе JavaScript, который будет совместим с различными браузерами, без необходимости написания длинных сценариев на нативном javascript, чтобы сделать то же самое, что вы могли бы легче достичь с помощью библиотеки, выполняющей резервное копирование.

http://www.jquery.com - базовая библиотека

http://www.jqueryui.com - расширение библиотеки

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

2 голосов
/ 28 марта 2012

Вы можете проверить это здесь:

Ajax позволяет отправлять / извлекать данные из серверной части без обновления страницы

http://api.jquery.com/category/ajax/

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