在bootstrap模式框中打开YouTube视频

时间:2017-11-25 10:14:43

标签: javascript jquery twitter-bootstrap video youtube

我列出了来自sql table的视频数据。

tha table中的字段: - sidebar_video_id(自动增量) - sidebar_video_nev - sidebar_video_link(完整网址) - sidebar_video_v_id(来自网址末尾的视频ID)

我想要的是,当我点击每个视频时,它会打开并在引导模式框中播放。现在框打开了,但它是空的,我没有得到任何控制台错误。

<?php
$get_videos = mysqli_query($kapcs, "SELECT * FROM sidebar_video");
if(mysqli_num_rows($get_videos) > 0 )
{
    while($vid = mysqli_fetch_assoc($get_videos))
    {
        echo '<div class="sidebar_youtube_box">';
        echo '<a href="#" id="'.$vid['sidebar_video_v_id'].'" data-url="'.$vid['sidebar_video_link'].'" class="open_youtube_modal" title="'.$vid['sidebar_video_nev'].'"><img src="http://img.youtube.com/vi/'.$vid['sidebar_video_v_id'].'/hqdefault.jpg" class="img-responsive"></a>';
        echo '</div>';
    }
}
?>


<div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close"  data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Bezárás</span></button>
        <h4 class="modal-title" id="myModalLabel">Videó megtekintése</h4>
      </div>
      <div class="modal-body" id="video_modal_body">

      </div>
    </div>
  </div>
</div>

$('.open_youtube_modal').click(function(e) {
        e.preventDefault();
        var v_id = $(this).attr('id');
        var full_url = $(this).attr('data-url');

        var embed_html = '<iframe width="560" height="315" src="' + full_url + '" frameborder="0" allowfullscreen></iframe>';

        //alert(embed_html);

        $('#video_modal_body').html(embed_html);
        $('#videoModal').modal('show');

    });

1 个答案:

答案 0 :(得分:0)

您必须使用https://www.youtube.com/embed/[videoId]格式而不是https://www.youtube.com/watch?v=[videoId]。 Youtube不允许与后者构成跨域框架。