【发布时间】:2013-06-25 12:11:15
【问题描述】:
我在我的网站上使用 Vimeo 播放器播放视频。
我正在使用 vimeo 网站中提供的以下代码。
http://jsfiddle.net/bdougherty/HfwWY/light/
以上jsfiddle链接来自vimeo player javascript api链接:https://developer.vimeo.com/player/js-api
我使用完全相同的代码,只是 iframe 标记中的视频链接不同。
<iframe src="http://player.vimeo.com/video/MY VIDEO CODE?api=1&player_id=player1" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
在视频加载之前,我会显示一个加载图标。
我正在使用准备和播放事件来隐藏加载图标。以下是我的代码。
var iframe = $('#player1')[0];
player = $f(iframe);
var videoSource = $('iframe#player1').prop('src');
$('iframe#player1').prop('src',videoSource + "&autoplay=1");
if(player !== null && player !== undefined){
$("#loadingIcon").show();
// When the player is ready, add listeners for pause, finish, and playProgress
player.addEvent('ready', function() {
$("#loadingIcon").hide();
player.addEvent('play', onPlay);
//player.addEvent('pause', onPause);
//player.addEvent('finish', onFinish);
// player.addEvent('playProgress', onPlayProgress);
});
}
// function onPause(id) {}
// function onFinish(id) {}
function onPlay(id) {
if($("#loadingIcon").length > 0)
$("#loadingIcon").hide();
}
我遇到的问题是加载图标在视频准备好或开始播放后显示并且没有隐藏。
以前,在我的 https 页面中,对象“玩家”的值是 null。所以我添加了if条件。它解决了这个问题。但是,现在即使这样似乎也行不通。因此,当视频播放时,加载图标仍然存在。
除此之外,萤火虫会抛出错误说:
错误:访问属性“toString”的权限被拒绝。 错误:访问属性“toString”的权限被拒绝。 错误:访问属性“toString”的权限被拒绝。
(我贴了3次,因为firebug显示了3次)
但视频仍然可以正常播放。
如果有人之前遇到过这个问题,请帮忙。
【问题讨论】:
-
你不应该像这样摆弄 src 的 iframe。在将其注入您的页面之前,请确保它指向正确的 src。
-
我希望在单击按钮时播放视频,因此我将 autoplay=1 添加到 src。是的 src 指向正确的来源。视频播放没有任何问题,我遇到的问题是视频准备好或开始播放后加载图标没有隐藏。
-
你能用小提琴来说明你的问题吗?