我有一个简单的快速应用程序,它显示了电影的列表,单击其中任何一个都会打开带有播放器的另一个页面。我需要加载这段脚本以在元素中注入视频播放器。
在这里,在此终结点中,将视频对象传递到播放器布局上
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();
});
};
您可以在要渲染的"播放器"模板上使用立即调用的函数表达式 (IIFE( 来检查数据是否已传递,然后执行所需的函数。
(function() {
const playVideo = (video) {...}
if (video !== undefined) { playVideo(video); }
}());