Javascript 使用Jquery停止Vimeo视频
我需要停止嵌入新oembed api(universal player)的Vimeo视频,但当我尝试添加事件时,会出现以下错误:Javascript 使用Jquery停止Vimeo视频,javascript,jquery,vimeo,Javascript,Jquery,Vimeo,我需要停止嵌入新oembed api(universal player)的Vimeo视频,但当我尝试添加事件时,会出现以下错误: Uncaught TypeError: Object #<an HTMLIFrameElement> has no method 'addEvent' 未捕获类型错误:对象#您不能 没有DOMaddEvent方法 您没有对Vimeo的跨域访问权限,所以不允许您使用带有iframe文档或抽象视图的JavaScript接口 如果您想通过JavaScrip
Uncaught TypeError: Object #<an HTMLIFrameElement> has no method 'addEvent'
未捕获类型错误:对象#您不能
- 没有DOM
addEvent
方法
- 您没有对Vimeo的跨域访问权限,所以不允许您使用带有iframe文档或抽象视图的JavaScript接口
如果您想通过JavaScript与Vimeo交互,您必须让他们实现一个也接受您的域的postMessage
API。Eli,请编辑您的帖子。正如乔所说,你的信息有一部分是错误的。虽然跨域通信需要postMessage,但它是通过调用“Froogaloop.init();”添加的DOM方法实现的
注意:您需要从Vimeo站点获取froogaloop.js(或min变体)
请确保在调用init()之前设置了iFrame“src”,否则froogaloop将不起任何作用。根据Mike的建议,调用:
Froogaloop.init();
使控件API正常工作。就我而言:
<iframe id="player_1" src="http://player.vimeo.com/video/26859570?js_api=1&js_swf_id=player_1&title=0&byline=0&portrait=0" width="620" height="354" frameborder="0"></iframe>
<script>
$(document).ready(function() {
Froogaloop.init();
$("#player_1").moogaloop({
load: function(element) {
$("#segment1").click(function() { element.moogaloop('seekTo', "7"); });
}
});
});
</script>
$(文档).ready(函数(){
Froogaloop.init();
$(“#player_1”).moogaloop({
加载:函数(元素){
$(“#分段1”)。单击(function(){element.moogaloop('seekTo',“7”);});
}
});
});
奇怪的。。。Moogaloop的author演示页面在没有init()调用的情况下可以正常工作。不管怎样,他为我工作
谢谢你的时间 这不是正确的答案,但可能对你的情况有效,就像对我的情况一样。当我关闭包含DOM元素的Vimeo时,我只是想阻止它播放。我正在折叠它的容器,这在视觉上隐藏了它,但是音频继续播放,不必要地使用了浏览器资源
我现在所做的只是将iframe存储在一个变量中,从DOM中删除它,然后立即替换它。我没有跨浏览器测试,只有最新版本的Chrome和Safari Mobile
var container = $("#VimeoContainer");
var iframe = container.find("iframe");
iframe.remove();
container.append(iframe);
再说一次,Froogaloop确实是一条路要走,但是我在过去遇到过一些问题,所以对于这种情况,我想找一些简单的方法。显然,没有JQuery,你也可以用同样的结果来实现这一点。啊,好的:(我认为它是有效的,因为我在这里读到了它:(和这里)不过,谢谢你的回答:)既然可以,你为什么要说“你不能”呢。这完全是误导。
var container = $("#VimeoContainer");
var iframe = container.find("iframe");
iframe.remove();
container.append(iframe);