Я как бы новичок на PHP. Я создал систему обмена сообщениями, но вам нужно вручную обновить iFrame сообщениями. Как я могу сделать это обновление iFrame при получении нового сообщения?PHP - обновление iFrame при получении нового сообщения
ответ
Спасибо всем! Вот что я сделал (я позаимствовал его из http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931, предложил Chris85:?.
<script>setInterval(function(){document.getElementById("messages").src += "";}, 2000);</script>
Если вы хотите регулярно опросить сервер после загрузки страницы, вам необходимо будет использовать javascript для регулярной отправки запроса на сервер без перезагрузки страницы (для чего используется AJAX).
Если вы можете создать php-сообщение, которое возвращает все сообщения, созданные после определенного таймфрейма, вы можете отправить запрос с помощью javascript.
Если вы используете JQuery на клиенте, это будет выглядеть примерно так (проверить http://api.jquery.com/jquery.ajax/ более подробно):
var timestamp = Date.now();
setInterval(function() {
$.ajax("/newmessage?timestamp=" + timestamp, {
success: function(data) {
//Do something with the new messages here
$("#messages").append("<div id='message'>" + data.message + "</div>";
}
});
}, 10000);
// Runs interval every 10000 milliseconds
Также можно использовать обычный JavaScript, но код будет немного другой.
Если у вас есть контроль над сервером, есть и другие варианты обмена сообщениями, используя websockets, который поддерживает соединение и передает сообщения взад и вперед (http://www.websocket.org/echo.html).
- 1. Обновить окно чата при получении нового сообщения
- 2. Показать окно чата при получении нового сообщения
- 3. Уведомлять скрипт php cli о получении нового сообщения электронной почты
- 4. Выполнение сценария при получении нового сообщения электронной почты в Outlook
- 5. Вызов моей конечной точки при получении нового сообщения электронной почты
- 6. Как воспроизвести мультимедийный файл при получении нового сообщения?
- 7. Изменение статуса выпуска каждый раз при получении нового сообщения
- 8. Введенные сообщения перерывы при получении сообщения
- 9. Ошибка приложения при получении сообщения
- 10. Исключение при получении сообщения SOAP
- 11. Ошибка при получении зашифрованного сообщения
- 12. Создание представления при получении сообщения
- 13. Как предупредить в строке заголовка браузера о получении нового сообщения?
- 14. Обновление сообщения/строки, а не создание нового
- 15. Как запустить php-скрипт с помощью приложения Google для регистрации при получении нового сообщения
- 16. rs/pushd сбой при получении нового абонента
- 17. Ошибка при получении нового SPSite в PowerShell
- 18. Добавить звук при получении нового заказа
- 19. Ошибка при получении высоты дочернего элемента IFrame
- 20. Сообщение массива неполное при получении сообщения
- 21. Включите Wi-Fi при получении определенного сообщения
- 22. Запустить приложение при получении текстового сообщения
- 23. Обновить строку состояния при получении сообщения?
- 24. Получите адрес агента JADE при получении сообщения
- 25. Начать загрузку задачи при получении сообщения GCM
- 26. Spring Integration: исключение при получении сообщения
- 27. Ошибка сегментации при получении строкового сообщения
- 28. Отправка сообщения сокета при получении почтового запроса
- 29. Netty теряет последние сообщения при получении
- 30. Как работать уведомление при получении сообщения
Почему бы не использовать AJAX, чтобы получить новые сообщения – chris85
Я не очень хорошо знаком с AJAX Как я мог сделайте это? – jadenPete
бесконечный цикл на стороне сервера ... Надеюсь, у вас есть хороший пакет хостинга. Если вам нужно что-то удалить из стресса с запросов сервера, вы можете захотеть изучить веб-сокеты, так как это сделает один запрос и после внесения изменений в базу данных он будет отвечать, а не запрашивать все данные каждые столько секунд. – NewToJS