javascript - 在使用 Fancybox 弹出窗口打开的 iFrame 中调用 javascript 函数

标签 javascript jquery fancybox parameter-passing function-calls

我正在尝试使用 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");  

最佳答案

您应该使用:

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

原因:

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

关于javascript - 在使用 Fancybox 弹出窗口打开的 iFrame 中调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222272/

相关文章:

javascript - 我的 localStorage.clear();行不通

javascript - 使用 require() 为服务器端/PhantomJS 转换 JS 脚本

javascript - jQuery 问题与点击嵌套创建的元素

javascript - 基于计数器值的 Css3 div 渐变背景动画?

javascript - Fancybox 不工作(初学者)

jquery - jquery中的鼠标中键单击事​​件

jquery - 运行以下 JQuery 脚本的正确方法是什么?

javascript - 最好通过 ng-app 指令或 .config Controller 属性应用 Controller

javascript - iOS 5 Safari 中对 Web 开发人员有何新功能?

javascript - 为什么 jQuery 的行为与 javascript 不同?