【问题标题】:iframe with link, opens up colorbox in parent带有链接的 iframe,在父级中打开颜色框
【发布时间】:2013-12-12 04:04:37
【问题描述】:

所以我有一个带有条形图的小型 iframe,我希望当我单击该图表时,它会从该 iframe 的“父级”打开一个颜色框(带有更详细的图表)......

基本上我可以让 iframe 打开一个颜色框,但它很小,我需要它与父窗口一样大。

我如何实现这一目标?请完整的代码......我是新手。以下是我现在的进度:

父代码:

$(document).ready(function(){
   function call_colorBox(params) {
   $.colorbox(params);
   }
})

iframe 代码:

<a onclick="parent.call_colorBox({ width: '80%', height: '80%', iframe: true, href:'dash6detail2.0xpay.php' });" href="#"><div id="chartContainer" style="max-width:440px;height: 250px;"></div></a>

但似乎什么都没有发生?我错过了什么?

【问题讨论】:

    标签: javascript jquery iframe colorbox


    【解决方案1】:

    这个问题涵盖了如何做到这一点:

    Calling a parent window function from an iframe

    并且得到了很好的回答。它们甚至涵盖了您需要父窗口和 iframe 位于同一域中的概念。应该解决你的概念问题。

    如果没有您的实际代码示例,很难用代码进行扩展,但基本上:

    1. 父窗口标题定义函数“openColorBox”
    2. iframe 在条形图上设置点击事件,点击时会调用 parent.openColorBox

    在帖子中更改代码后编辑:

    在文档就绪闭包内分配函数使其无法访问外部范围。因此,要么按照下面的评论将其从闭包中移除,要么完全移除文档就绪闭包。

    【讨论】:

    • 没有问题,当/如果你得到一个接近的实现放一个 jsFiddle,我可以帮你完成调试。
    • 我现在已经到了那个阶段,敬请期待 jsfiddle...谢谢
    • 不确定如何在带有 iframe 和所有内容的 jsfiddle 上得到这个,如果我在上面发布带有更多代码的编辑可以吗?
    • 看看,我不明白为什么它什么都不加载......嗯
    • 是的,您在 document ready 闭包内定义 call_ColorBox 函数......这意味着在该闭包之外它不存在。很好的发现...您可能仍想在闭包中定义它,但您需要将其分配给外部可用的东西。 GJ
    【解决方案2】:

    所以我原来的代码是正确的,但是需要去掉:

    $(document).ready(function(){
    

    感谢尼克的帮助

    【讨论】:

      猜你喜欢
      • 2018-02-21
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      相关资源
      最近更新 更多