关闭fancybox时将变量从fancybox传递到父页面

时间:2014-04-11 16:12:27

标签: javascript php jquery html fancybox

您好我试图将一个变量从子iframe fancybox发送到父级。但我似乎无法掌握如何做到这一点。有没有人有想法。我已经尝试过使用js。一位朋友建议用php做,但还没找到解决方案。我现在搞得一团糟。我尝试了另一个类似于我的问题答案但没有运气。这是代码 这是在fancybox:

 <script type="text/javascript">
    function OnClickButton (nombre) {

        parent.$.nombre(nombre);
        parent.$.fancybox.close();

    }
</script>

<?php foreach($files1 as $file): ?>
                <?php if ($cont>1) { ?>
                  <li>

                        <a onclick="OnClickButton ('<?php echo $file;?>');" href="<?php echo $file;?>"><img style="width: 50px;" 
                            src="img/folderImg.png"></a>

                  </li>
                <?php } ?>
              <?php $cont++; endforeach ?>

这是在父页面

function nombre (nombre) {

        name = nombre;
        alert(nombre)

    }
    $(document).ready(function() {
        $(".fancybox").fancybox();
    });
    $(document).ready(function() {
    $(".various").fancybox({
        maxWidth    : 800,
        maxHeight   : 400,
        fitToView   : false,
        width       : '70%',
        height      : '70%',
        autoSize    : false,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        afterClose  :   function() {

            if (name == 'folder 1') {
                $('.fancybox-thumb').fancybox().trigger('click');
            }
            if (name == 'folder 2') {
                $('.fancybox-thumb2').fancybox().trigger('click');
            }
            if (name == 'folder 3') {
                $('.fancybox-thumb3').fancybox().trigger('click');
            }

        }
    });
    });

1 个答案:

答案 0 :(得分:2)

我会尝试两种解决方案,我不知道在你的情况下是否可行但是非常可靠。

1)sessionstorage:

将sessionstorage与jquery一起使用,您可以保存参数并在以后的任何页面中使用它。

sessionStorage.setItem("nameofthestorage", yourvalue);

并获取已保存的信息

var x = sessionStorage.getItem("nameofthestorage");

2)保存一个php会话:

我对php有点生锈,但你可以看到这个官方的简单指南 http://www.w3schools.com/php/php_sessions.asp