在fancebox iframe中设置全局变量

时间:2014-06-02 04:15:24

标签: javascript php jquery fancybox-2

我有一个网页,我正在调用fancybox插件iframe来显示另一个页面。我用这个页面上传了一张图片。现在,我希望在fancybox关闭后将图像路径传递回父页面。

我想在父页面上设置一个全局变量,然后在fancybox iframe中设置该变量的值(到上传的图像路径)。然后在父页面上,我为fancybox放置了afterClose()来读取该变量的值。这会有用吗?如果没有,我还能尝试什么?

父文件代码:

var globalImageURL = "";
$('.fancybox').fancybox({
        maxWidth    : 800,
        maxHeight   : 600,
        fitToView   : false,
        width       : '70%',
        height      : '70%',
        autoSize    : false,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',

        afterClose: function(){
            alert(globalImageURL);
        }
    });

iFrame代码:

<?php
if(strlen($photo_exists)>0){

    echo "<script>globalImageURL = 'imagepath';</script>";
}
?>

感谢。

1 个答案:

答案 0 :(得分:0)

首先,父级的document.domain和iframe必须相同才能使iframe访问父变量。

其次,代码应如下所示: -

<?php
if(strlen($photo_exists)>0){

    echo "<script>if(top.globalImageURL) top.globalImaeUIrl='imagepath';</script>";
}
?>