wes*_*bos 50 javascript youtube jquery
我有一个我建立的jquery滑块,基本上只有三个pannels通过应用负的左CSS值滑动.效果很好,但我在一张幻灯片中有一个youtube视频,当我滑动时它不会停止.我尝试过display:none和Visibility:hidden除了IE以外都可以使用,音频一直在IE浏览器中.
有一种简单的方法可以用jquery杀死视频吗?
小智 87
此解决方案简单,优雅,适用于所有浏览器:
var video = $("#playerid").attr("src");
$("#playerid").attr("src","");
$("#playerid").attr("src",video);
Run Code Online (Sandbox Code Playgroud)
cob*_*bal 37
来自API文档:
player.stopVideo()
Run Code Online (Sandbox Code Playgroud)
所以在jQuery中:
$('#playerID').get(0).stopVideo();
Run Code Online (Sandbox Code Playgroud)
小智 19
1.include
<script type="text/javascript" src="http://www.youtube.com/player_api"></script>
Run Code Online (Sandbox Code Playgroud)
2.添加你的youtube iframe.
<iframe id="player" src="http://www.youtube.com/embed/YOURID?rel=0&wmode=Opaque&enablejsapi=1" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
3.疯狂的时间.
<script>
var player;
function onYouTubePlayerAPIReady() {player = new YT.Player('player');}
//so on jquery event or whatever call the play or stop on the video.
//to play player.playVideo();
//to stop player.stopVideo();
</script>
Run Code Online (Sandbox Code Playgroud)
Fai*_*eef 19
要开始播放视频
var videoURL = $('#playerID').prop('src');
videoURL += "&autoplay=1";
$('#playerID').prop('src',videoURL);
Run Code Online (Sandbox Code Playgroud)
停止视频
var videoURL = $('#playerID').prop('src');
videoURL = videoURL.replace("&autoplay=1", "");
$('#playerID').prop('src','');
$('#playerID').prop('src',videoURL);
Run Code Online (Sandbox Code Playgroud)
您可能希望将"&autoplay = 1"替换为"?autoplay = 1",因为没有其他参数
适用于FF和Chrome上的vimeo和youtube
Fel*_*lix 17
我之前遇到过这个问题,我得出的结论是,在IE中停止视频的唯一方法是将其从DOM中删除.
小智 8
我遇到了同样的问题.在我做了很多替代方案之后,只需使用相同的URL重置embed src ="".
代码段:
$("#videocontainer").fadeOut(200);<br/>
$("#videoplayer").attr("src",videoURL);
Run Code Online (Sandbox Code Playgroud)
当我隐藏它时,我能够至少停止播放视频.:-)
我对现代YouTube embed格式的解决方案如下.
假设iframe您的视频正在播放id="#video",那么这个简单的Javascript就可以完成这项工作.
$(document).ready(function(){
var stopVideo = function(player) {
var vidSrc = player.prop('src');
player.prop('src', ''); // to force it to pause
player.prop('src', vidSrc);
};
// at some appropriate time later in your code
stopVideo($('#video'));
});
Run Code Online (Sandbox Code Playgroud)
我已经看到了这个问题的建议解决方案涉及使用YouTube API,但如果您的网站不是https网站,或者您的视频是使用YouTube推荐的现代格式嵌入的,或者如果您no-cookies设置了选项,那么这些解决方案不会工作,你得到" 电视机到死通道 "效果,而不是你的视频.
我已经在我能够完成的每个浏览器上测试了上述内容并且它非常可靠.
如果您在 iframe src 中有 autoplay 属性,则重新加载 src attr/prop 无济于事,因此您必须将 autoplay=1 替换为autoplay=0
var stopVideo = function(player) {
var vidSrc = player.prop('src').replace('autoplay=1','autoplay=0');
player.prop('src', vidSrc);
};
stopVideo($('#video'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181463 次 |
| 最近记录: |