只需传递视频网址即可播放Youtube视频

erl*_*saj 1 php youtube jquery html5 html5-video

我一直在网上搜索,但没有任何工作,因为我打算.我想要的是我有一个文本字段,用户可以传递youtube视频的URL(在后端),然后在前端我希望显示该视频使用该URL.关键是它不会显示视频.当我使用iFrame它可以工作,但它需要像这样嵌入的网址

<iframe width="100%" height="100%" src="http://www.youtube.com/embed/vM89zeKimOY" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

它工作正常但你看到网址不是你从网址栏复制/粘贴的一般网址.

视频的网址是这样的:

https://www.youtube.com/watch?v=vM89zeKimOY
Run Code Online (Sandbox Code Playgroud)

所以我想要的是这样的:

<iframe width="100%" height="100%" src="https://www.youtube.com/watch?v=vM89zeKimOY" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

我不知道是否有一个插件,你可以只是粘贴网址和它播放,或者我缺少什么,但线索或任何帮助将很多appruciated.

小智 5

使用jquery你可以简单地实现它.

HTML

<input id="TextBoxURL" />
    <br />
    <div id="iframe">        
    </div>
Run Code Online (Sandbox Code Playgroud)

脚本

<script type="text/javascript">
        $(document).ready(function () {

            $('#TextBoxURL').change(function () {
                var youTubeUri = $('#TextBoxURL').val();
                var youTubeVideoId = get_youtubeId(youTubeUri);
                loadYouTubeVideo(youTubeVideoId);
            }); 
        });

        function get_youtubeId(url) {
            var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
            var match = url.match(regExp);
            if (match && match[2].length == 11) {
                return match[2];
            } else {
                //error
            }
        }

        function loadYouTubeVideo(id){
            $('#iframe').append("<iframe width='560' height='315' src='//www.youtube.com/embed/"+id+"' frameborder='0' allowfullscreen></iframe>");
        }
    </script>
Run Code Online (Sandbox Code Playgroud)

我没有在此处包含验证部分.

干杯.快乐的编码.. !!!