我几年前在Android上继承了一个Phonegap应用程序,也使用了jquery mobile,而且在退出页面时尝试停止播放视频时遇到了问题。
我正在播放的视频是外部托管的,因此HTML非常简单:
<p>
<video width="100%" controls><source src="http://website.com/video.mp4" type="video/mp4">Your browser does not support the video tag.</video>
</p>
当页面被隐藏时,我一直试图在pause()
的DOM元素上调用video
方法。我已经有了这段代码来监听pagebeforehide
事件。这段代码肯定会被调用,但不起作用:
$(document).bind( "pagebeforehide", function( e, data ) {
var videos = $('.ui-page-active').find('video');
if(videos.length > 0)
{
videos.each(function() {
alert('about to stop video : ' + $(this).html());
this.pause();
alert('should be stopped.');
});
}
});
任何帮助都将不胜感激。
修改
奇怪的是,如果我直接在HTML中添加一个链接来暂停视频,那就可以了。一旦我在页面中使用javascript暂停了视频,在页面隐藏时暂停视频的代码就开始工作了!?
答案 0 :(得分:1)
var myVideo = document.getElementById("video1");
function playPause()
{
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
function makeBig()
{
myVideo.width = 560;
}
function makeSmall()
{
myVideo.width = 320;
}
function makeNormal()
{
myVideo.width = 420;
}
<video id="video1" width="420">
<source src="mov_bbb.mp4" type="video/mp4">
<source src="mov_bbb.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>