我需要能够停止JWPlayer Iframe这是我正在使用的代码
HTML:
<a href="#" onclick="popup('video'); stopvideo();" >Click To Close</a>
<iframe src="<?php echo get_template_directory_uri(); ?>/scalerokuengine.php" id="rokuvideo" scrolling="no" frameBorder="0" width="960" height="470"> </iframe>
的javascript:
function stopvideo() {
document.getElementById('rokuvideo').jwplayer().stop();
}
这是iframe包含的代码:
<div id="se_video" width="100%" height="100%"></div>
<script type="text/javascript" src="http://barakyah.embed.scaleengine.net/latest/jwplayer.min.js"></script>
<script type="text/javascript">
jwplayer('se_video').setup({
'flashplayer': 'http://barakyah.embed.scaleengine.net/latest/jwplayer.swf',
'autostart': 'false',
'provider': 'rtmp',
'streamer': 'rtmp://channel.tvstartup.net/barakyah-vod/play/',
'file': 'sestore1/barakyah/newsystem/tvstartupvideo_Roku-Video_1446408572907.mp4',
'stretching': 'exactfit',
'modes': [
{
'type': 'flash',
'src': 'http://barakyah.embed.scaleengine.net/latest/jwplayer.swf'
},
{
'type': 'html5',
'config': {
'file': 'http://stream.tvstartup.net/barakyah-vod/play/sestore1/barakyah/newsystem/tvstartupvideo_Roku-Video_1446408572907.mp4/playlist.m3u8',
'provider': 'video'
}
}
],
'bufferlength': '5',
'width': '940',
'height': '470'
});
</script>
谢谢你们
答案 0 :(得分:1)
您正在访问iframe节点,并尝试调用无效的jwplayer()
API。如果您的iframe位于同一个域中,则可以访问位于 iframe内的的jwplayer节点并调用API。
$("#rokuvideo").contents().find("#se_video").jwplayer().stop();
或
$("#rokuvideo").contentWindow.jwplayer().stop();
答案 1 :(得分:1)
另一种选择是将iframe的src设置为about:blank,然后当你加载它时(如果用户再次请求它)将其设置回所需的src。 例如,使用bootstrap模态
$('#modalVideoDIV').on('hide.bs.modal', function () {
// set src of iframe blank here (or to a silent page)
$('#iframe').attr('src','about:blank');
})
$('#modalVideoDIV').on('show.bs.modal', function () {
// set src of iframe to video
$('#iframe').attr('src','YOUR SRC HERE');
})
答案 2 :(得分:0)
或者更好的一个,在hide上使用它:
$('#iframe').attr('src',$('#iframe').attr('src'));
重新加载帧然后停止。