JavaScript Получить изображение веб-страницы запроса в потоке - PullRequest
0 голосов
/ 29 мая 2020

У меня есть URL-адрес, на котором каждый раз, когда вы посещаете страницу, появляется новый jpeg. Я хотел бы использовать мой javascript get постоянно отправлять операторы get на эту страницу и извлекать изображение, чтобы отображать его на моей веб-странице в виде «потока» изображений в контейнере одно за другим. В настоящее время я могу получить только первое изображение при запуске функции. Я новичок в JavaScript.

    isLive=true;
    let imageurl = SERVICE_URL;
    var ajaxImage = document.getElementById("liveImg");
      do {

            xhttp.open("GET",imageurl, true);
            xhttp.send();
            ajaxImage.src = imageurl;

          }
          while (isLive);

1 Ответ

0 голосов
/ 29 мая 2020

Не используйте бесконечные циклы в javascript, чтобы делать ajax, как это, потому что он будет отправлять много запросов без каких-либо ограничений, вызывая сбой браузера и, да, сервера, если есть много клиентов

Что вы вместо этого нужен таймер , который будет тикать, скажем, каждые 5 секунд, меняя изображение

isLive=true;
let imageurl = SERVICE_URL;
var ajaxImage = document.getElementById("liveImg");
var timerKey = 0;

function Imgchanger{
    //incase you want to stop it just assign isLive=false somewhere
    if(!isLive){
        clearInterval(timerKey);
    }

    xhttp.open("GET",imageurl, true);
    xhttp.send();
    ajaxImage.src = imageurl;
}

timerKey  = setInterval(imgchanger, 5000); //5 seconds
...