我必须在弹出窗口中显示jwplayer,对于使用ngDialog(angular)的弹出窗口,ngDialog的代码如下:
$scope.showVideoPlayerPopup = function(video_path)
{
$scope.ngDialog = ngDialog;
ngDialog.open({
animation: true,
scope:$scope,
template:'<div id="video_popup"></div>',
plain: true,
//className: 'ngdialog-theme-default',
closeByDocument: true
//backdrop : 'static'
});
playVideo(video_path);
}
上面播放的视频功能包含jwplayer的代码,如下所示:
<script>
function playVideo(video_path)
{
jwplayer("video_popup").setup({
file: video_path,
width: "600px",
height: "600px",
stretching: "bestfit",
});
}
</script>
当我使用相同的jwplayer代码用于没有弹出窗口的简单html代码时,它工作正常,但我尝试将我的html放在弹出窗口中,它给出了以下错误:
错误:jwplayer(...)。setup不是函数
更新
我包含的文件:
<script src="https://content.jwplatform.com/libraries/qAkRysIB.js"></script>
答案 0 :(得分:2)
确保你包含了jwplayer src(你可能已经做了但是如果没有:)
<script type="text/javascript" src="http://p.jwpcdn.com/6/10/jwplayer.js"></script>
在调用setup
函数之前,请确保已加载面板。一种方法是从ngDialog注册ngDialog.opened
的事件监听器(参见Events的ngDialog readme部分):
$scope.$on('ngDialog.opened', function (e, $dialog) {
playVideo();
});
答案 1 :(得分:0)
是...因为您的div标签带有id&#34; current_video_path&#34;在jwplayer(...)之前必须在DOM中安装.setup脚本可以工作...可能你可以使用$ timeout或setTimeout添加一些延迟,这样它就有足够的时间在弹出这个脚本之前刷新div。