如何将嵌入的 Vimeo 视频重置为播放完成后的加载方式?
Vimeo API 提供了一个卸载方法
player.api("unload")
但它不适用于非 Flash 播放器。
如何将嵌入的 Vimeo 视频重置为播放完成后的加载方式?
Vimeo API 提供了一个卸载方法
player.api("unload")
但它不适用于非 Flash 播放器。
使用Vimeo API,您可以添加一个事件finish
来触发重新加载。Vimeo API 包含一个方法unload()
,但它在 HTML 播放器中不受支持。相反,请重置 iframe 中的 URL 以将视频恢复到其原始状态。
HTML
<iframe src="//player.vimeo.com/video/77984632?api=1" id="video"></iframe>
JS
var iframe = document.getElementById("video"),
player = $f(iframe);
player.addEvent("ready", function() {
player.addEvent('finish', function() {
player.element.src = player.element.src;
});
});
unload()
现在应该可以在所有玩家中正常工作。
Steve Robbins 解决方案的变体,具有 Vimeo 特定解决方案。您不必到达视频的结尾,但只要用户退出,包括单击按钮:
加载了 Vimeo 库的简单 Javascript 解决方案: https ://player.vimeo.com/api/player.js
function ResetVideo()
{
var Field = "iframe-video"; // <iframe id=iframe-video
var iframe = document.getElementById(Field);
var bLoad = LoadVimeoLib(); // Is the Vimeo lib loaded
if(bLoad > 0)
{
var Videoplayer = new Vimeo.Player(iframe);
Videoplayer.pause(); // Pause the video and audio
Videoplayer.setCurrentTime(0); // Reset the video position
// Reset the video back to the iframe
VideoSrc = Videoplayer.element.src; // Save the video source
Videoplayer.element.src = ""; // Empty the source
Videoplayer.element.src = VideoSrc; // Reset the video source
}
}
function LoadVimeoLib()
{
if (typeof jQuery === 'undefined')
{
alert('no jquery installed');
return 0;
}
var scriptlen = jQuery('script[src="https://player.vimeo.com/api/player.js"]').length;
if (scriptlen == 0)
{
jQuery.ajax({
type: "GET",
url: "https://player.vimeo.com/api/player.js",
dataType: "script"
});
}
return 1;
}