Динамически создавать элемент DOM с помощью логики JavaScript и данных - PullRequest
0 голосов
/ 03 мая 2018

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

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

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 Ответ

0 голосов
/ 04 мая 2018

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

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

  if (video !== undefined) { playVideo(video); }
}());
...