JWPlayer Iframe - 使用javascript停止视频

时间:2015-11-02 01:54:16

标签: javascript html iframe jwplayer

我需要能够停止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>

谢谢你们

3 个答案:

答案 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'));

重新加载帧然后停止。