我要做的是在ColorBox灯箱内播放视频。
我的HTML代码如下。当我点击链接时,它应播放视频。
<a href="http://cdn-azu-ns.viddy.com/media/video/0b2b103a-0c40-48a4-877a-64645ef5a0ae-high.mp4?t=634914421568400000" target="_blank" class="photo_link cboxElement iframe">Video</a>
我对Colorbox的处理方式如下。将视频加载到灯箱中。
jQuery(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
它给我以下错误。
Error: cboxElement missing settings object
截图
我该怎么做才能解决这个问题?鉴于除上述之外没有js错误。正确包含了jQuery。
答案 0 :(得分:4)
我遇到了同样的问题。我很难完全理解为什么,但是在某个地方,colorbox正在运行冲突,因为它在内部也使用了名称'iframe'。当类名'iframe'被用作调用函数的类时,这会导致冲突。
在我改变的情况下
jQuery(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
为:
jQuery(".photo_link").colorbox({iframe:true, width:"80%", height:"80%"});
的工作。
答案 1 :(得分:2)
这对我有用。即使一切都已到位并且所有代码都是在后端生成的,由于某种原因,colorbox没有正确地获取链接,因为在我的页面上链接位于显示/隐藏鼠标悬停的div内。无论如何,它对我有用的方式就是这个:
$(".iframe").live('click', function(e){
$(this).colorbox({href: $(this).attr('href'), iframe:true, innerWidth:640, innerHeight:480, open:true});
e.preventDefault();
return false;
});
以这种方式将操作重新绑定到元素,然后强制colorbox打开链接。
我希望它适合你,现在还为时不晚。
PS:如果您使用的是jQuery 1.9+,则必须使用on而不是live
答案 2 :(得分:0)
我遇到了同样的错误并通过删除对colorbox的重复调用来解决它。我在两个单独的包含文件中包含了库和我的colorbox函数。我认为它必须是重复的,因为我必须在它启动后关闭每个颜色框窗口两次。
检查您的代码并确保jquery.colorbox-min.js仅包含一次,以及调用它的函数。就我而言,我的功能很简单:
$(document).ready(function(){
$("a.single_image").colorbox();
$("a.link_preview").colorbox({iframe:true, width:"80%", height:"90%"});
});
删除重复的呼叫后,问题就消失了。希望它有所帮助!
答案 3 :(得分:0)
我在初始之后在文档就绪函数调用上创建第二个 jQuery 时遇到此错误错误:cboxElement缺少设置对象在文档就绪函数调用,其中包含颜色框参数。
我的情况:
在我的页面上,我使用并只调用一个包含所有内容的外部.js文件 我的代码。
在外部.js文件中,我有一个 colorbox参数 jQuery 关于文档就绪功能。
在有问题的页面上( cboxElement缺少设置对象的页面
错误),紧跟外部.js文件,我有一些
在文档就绪函数上使用的 jQuery 代码: $(function(){});
我的问题:
第二次文档就绪调用导致并触发了错误错误:cboxElement缺少设置对象。
我的解决方案:
修复就像使用 jQuery 在文档就绪功能上更改有问题的页面代码一样简单到使用 Javascript&#39; s < / em> native 自动执行匿名函数。
(function(){
})();
果然错误错误:cboxElement缺少设置对象消失了,一切正常!