如何在iframe中打开新页面时调整jQuery colorbox的大小?

时间:2012-11-22 16:45:45

标签: jquery iframe jquery-plugins resize colorbox

我已成功将jQuery colorbox plugin成功实施到网络应用程序中。但我仍然有以下问题:在iframe中打开新页面时,我无法调整jQuery colorbox的大小?

情景:

  1. 用户访问主页。
  2. 用户点击链接(在同一个域上),jQuery颜色框会在大页面上打开iframe。
  3. 用户点击链接(在同一个域上),iframe导航到较小的页面。
  4. 当iframe导航到较小的页面时,我需要调整颜色框的大小,但是如何?

    到目前为止我尝试了什么:

    我认为在较小页面的<head>部分中,我可以放置一些代码来调整颜色框的大小。代码在$(document).ready()函数内执行。

    • $.colorbox.resize();
    • $.fn.colorbox.resize();
    • $(".iframe").colorbox.resize();

    但所有这些都行不通。但是,如果我在iframe中完全加载页面后在Firebug控制台中传递$.colorbox.resize();命令,则resize函数会成功执行。

    很高兴知道:

    我知道有很多关于如何调整colorbox大小的问题,但我没有发现任何涉及iframe的问题解决了我的问题。如果您需要任何额外的代码或屏幕截图来帮助解决我的问题,请询问。

    感谢您让我朝着正确的方向前进。

1 个答案:

答案 0 :(得分:1)

我终于修复了它,因为需要在父窗口中创建自己的resize函数。

window.customResize = function(){ 
    $(".iframe").colorbox.resize({width:"960px", height:"675px"});
};

在iframe中我可以调用以下命令:

window.parent.customResize();

然后它有效。