Jquery mobile 如何在jQuery中以编程方式停止youtube视频

Jquery mobile 如何在jQuery中以编程方式停止youtube视频,jquery-mobile,youtube-api,youtube-javascript-api,Jquery Mobile,Youtube Api,Youtube Javascript Api,我正在用jQueryMobile开发一个简单的web应用程序,我可以用Youtube视频在不同的页面之间滑动 我遇到的问题很简单,我想停止youtube视频的呜呜声,然后滑动到下一页 否则,用户将同时播放两个youtube视频 以下是代码和演示: 以下是我的精彩完整代码: var i=1; $(“body”)。在(“swipeleft”,function()上{ if(i1){ 我--; $.mobile.changePage('#p'+i{ 过渡:“幻灯片”, 相反:正确 }); } })

我正在用jQueryMobile开发一个简单的web应用程序,我可以用Youtube视频在不同的页面之间滑动

我遇到的问题很简单,我想停止youtube视频的呜呜声,然后滑动到下一页

否则,用户将同时播放两个youtube视频

以下是代码和演示:

以下是我的精彩完整代码:

var i=1;
$(“body”)。在(“swipeleft”,function()上{
if(i1){
我--;
$.mobile.changePage('#p'+i{
过渡:“幻灯片”,
相反:正确
});
}
});    

鉴于您使用的是较旧版本的jQuery,我假设您使用的是jQuery Mobile 1.3而不是1.4

您可以使用事件获取要离开的页面的iframe,然后快速将iframe的src设置为nothing,然后返回到视频url。这将停止播放视频

var TheFrame;
$(document).on( "pagebeforehide", function( event, data ) { 
    TheFrame = $(event.target).find("iframe");
    setTimeout(StopVideo, 500);
});

function StopVideo(){
    var vid  = TheFrame.prop("src");
    TheFrame.prop("src", "");
    TheFrame.prop("src", vid);    
}
setTimeout允许幻灯片转换在干扰iframe src之前完成

工作

如果您使用的是jQM 1.4,则可以使用

var TheFrame;
$(document).on( "pagecontainerbeforehide", function( event, ui ) { 
    TheFrame = ui.prevPage.find("iframe");
    setTimeout(StopVideo, 500);
});

function StopVideo(){
    var vid  = TheFrame.prop("src");
    TheFrame.prop("src", "");
    TheFrame.prop("src", vid);    
}

你看过youtube iframe API吗?是的,我没有找到解决方案