【问题标题】:Calling a javascript function in iFrame opened with Fancybox popup在使用 Fancybox 弹出窗口打开的 iFrame 中调用 javascript 函数
【发布时间】:2012-01-03 13:39:55
【问题描述】:

我正在尝试使用 jQuery Fancybox 在 iF​​rame 中打开的页面中调用 javascript 函数。

            $(".testbox").fancybox({
                maxWidth    : 800,
                maxHeight   : 600,
                fitToView   : false,
                autoSize    : false,
                closeClick  : false,
                openEffect  : 'none',
                closeEffect : 'none',
                afterShow: function() {
                        //var frameID = $('#fancybox-frame')
                        //frameID.getParam("test");                         
                    }
            }); 

        $(".testbox").each(function() {
                var element = this;
                $(this).fancybox({
                    'titleFormat'   : function() {
                        var astring = '<span>' + element.id + '</span>';
                        alert(astring);
                    }
                });
            });

HTML:

    <a class="testbox fancybox.iframe" href="include/testFrame.html">Iframe</a>

我试图调用的 testFrame.html 中的函数:

        function getParam(param) {              
            alert(param);               
        }

通常我会在不使用 Fancybox 弹出窗口的情况下调用 iFrame 中的函数时这样做:

        document.getElementById('myFrame').contentWindow.getParam();

但我不知道在使用 Fancybox 时如何获取整个 iFrame 的 ID。任何帮助表示赞赏!

编辑: 我也试过这段代码也没有工作,我在 IE 中得到错误:对象不支持这个属性或方法。我已经确定我正在加载的页面有这个功能

    var $f = $("#fancybox-frame");
    var fd = $f[0].document || $f[0].contentWindow.document; 
    fd.getparam("test");  

【问题讨论】:

    标签: javascript jquery fancybox parameter-passing function-calls


    【解决方案1】:

    你应该使用:

    var $f = $("#fancybox-frame");
    $f[0].contentWindow.getParam("test");
    

    原因:

    • 该方法是全局声明的,而不是作为document 对象的方法。
    • JavaScript 区分大小写; getParamgetparam 不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多