我正在尝试为需要加载外部(相同服务器,不同页面)内容的多个链接创建通用Colorbox启动器。在某些情况下,我需要能够在不离开模态的情况下链接内容,所以看起来像iframe是最好的(仅?)方式,但我发现onComplete
回调使用此代码无限激发:
$('a[rel="modal"]').colorbox({
href: function() {
return $(this).attr( 'href' );
},
title: function() {
var title = $(this).attr( 'title' );
return title != 'undefined' ? title : false;
},
rel: 'nofollow',
iframe: true,
onComplete:function() {
alert( 'complete' );
$.colorbox.resize({
innerHeight: ( $('iframe').offset().top + $('iframe').height() ),
innerWidth: ( $('iframe').offset().left + $('iframe').width() )
})
}
});
因为它是通用的,我也试图动态地将模态调整为内容本身。如果我没有指定某些内容,我最终会得到一个崩溃的iframe。我知道我在这里遗漏了一些东西,但我不确定它是什么。
我应该补充说,框架内的页面加载还包括Colorbox脚本以及包含上述代码的脚本。我将不得不检查是否会产生某种不可避免的虫洞。
非常感谢任何帮助。
更新
当onComplete
被触发时,看起来iframe不存在。我没想到,所以我现在肯定可以使用一些建议。 : - )
答案 0 :(得分:1)
现在不确定这对你是否有任何帮助,但我遇到了与colorbox循环相同的问题。它最终成为'href'
属性值的问题。 (我在没有设置'inline' : true
的情况下引用了元素ID。)
如果将'href'
属性中调用的函数替换为静态位置,它是否有效?如果没有内容,则可能是您的iframe不存在的原因。