Динамически создавать элемент DOM с помощью логики JavaScript и данных

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

здесь в этой конечной точке передают видеообъект на макет плеера

router.get('/video/:id', (req, res) => {
    videoController.singleVideo(req, (err, data) => {
        if (err) return res.redirect('/');
        return res.render('player', {video: data });
    });
});

Теперь я хочу запустить этот фрагмент кода JS с видеоданными, которые я передал при загрузке этого макета плеера.

const playVideo = (video) => {
  window.location = 'http://localhost:8080/video/'+id;



     const conf = {
        key: '',
        source: {
          dash: video.dashSrc,
          hls: video.hlsSrc,
          progressive: video.videoSrc,
          poster: video.thumbSrc,
        },

      };

      const player = bitmovin.player('my_player');

      player.setup(conf).then(() => {
        player.play();
      });
      };

1 ответ

Вы можете использовать выражение немедленного вызова функции (IIFE) в шаблоне "player", который вы отображаете, чтобы проверить, что данные были переданы, и затем выполнить требуемую функцию.

(function() {
  const playVideo = (video) {...}

  if (video !== undefined) { playVideo(video); }
}());
Другие вопросы по тегам