Я создал базовое приложение для чата с возможностью загрузки текста, изображений и видео в php (codeigniter), используя ajax, и я получаю данные чата каждые 2 секунды через ajax в формате json.
Проблема только с видео: «когда я нажимаю кнопку воспроизведения, оно будет воспроизводиться только в течение 2 секунд, а через 2 секунды видео также будет перезагружено (обновлено)».Но я не хочу, чтобы видео было перезагружено.
Эту проблему я решу, удалив приведенный ниже код
setInterval(function(){get_chat_data()}, 2000)
Но я не хочу удалять этот код.Итак, вот мой скрипт и код php
function get_chat_data(refresh)
{
jQuery.ajax({
data:{ get_data: 1, chat_id: $("#chat_id").val()},
type: 'POST',
dataType: 'JSON',
url: '<?php echo base_url(); ?>mychat_session/get_chat_data',
success:function(data){
$("#mgs_dynamic_block").html(data);
},
});
}
setInterval(function(){get_chat_data()}, 2000)
А вот часть моего кода php
$get_chat_data = $this->Chat_modelM->get_chat_data();
foreach ($get_chat_data as $chat_data)
{
$message = $chat_data['chat_message'];
$type = $chat_data['type'];
if($type=='video'){
$message = base_url('uploads/chat_uploads/').$message;
$json_all_data[] ='<video controls><source src="'.$message.'" type="video/mp4">
</video> <hr> ';
}elseif($type=='image'){
$message = base_url('uploads/chat_uploads/').$message;
$json_all_data[] ='<a href="'.$message.'" target="_blank" style="display: block;">Open File</a> <hr> ';
}else{
$json_all_data[] ='<p class="mgs_message">'.$message.'</p><hr> ';
}
if(empty($json_all_data)) {
echo json_encode('<p class="no_mgs">No messages to display.</p>');
}else{
echo json_encode($json_all_data);
}
}
Я ожидаю, что видео не будет перезагружено.