Jquery iframe上的Fancybox.close()

Jquery iframe上的Fancybox.close(),jquery,html,dom,xhtml,fancybox,Jquery,Html,Dom,Xhtml,Fancybox,我正在使用最新的fancybox(2.0.4),并为iframe创建了一个fancybox。内容显示正确。我在我的html中添加了一个“关闭”按钮,该按钮在iframe中显示。我希望“关闭”按钮的结果与单击fancybox右上角的“x”按钮的结果相同。我很熟悉,我的父对象是一个DOM对象,其中没有任何内容。也试过 window.parent.jQuery.fancybox.close(); window.parent.jQuery.fn.fancybox.close(); parent.jQue

我正在使用最新的fancybox(2.0.4),并为iframe创建了一个fancybox。内容显示正确。我在我的html中添加了一个“关闭”按钮,该按钮在iframe中显示。我希望“关闭”按钮的结果与单击fancybox右上角的“x”按钮的结果相同。我很熟悉,我的
父对象是一个DOM对象,其中没有任何内容。也试过

window.parent.jQuery.fancybox.close();
window.parent.jQuery.fn.fancybox.close();
parent.jQuery.fn.fancybox.close();
parent.jQuery.fancybox.close();
有什么帮助吗

更新:

a、 js(链接到a.html) a、 html b、 html
您的手动关闭按钮应该如下所示:

<a href="javascript:parent.jQuery.fancybox.close();"><img src="myCloseButton.png" alt="close fancybox" /></a>
更新#2:请参阅

更新#3:由于讨论时间太长,没有结果,我决定删除对该答案的所有附加评论。我让代码和一个链接到一个工作演示,如果这可以帮助其他人

    try{
        parent.jQuery.fancybox.close();
    }catch(err){
        parent.$('#fancybox-overlay').hide();
        parent.$('#fancybox-wrap').hide();
    }

!!!不支持一次失败

在Javascript中尝试以下操作:


$.fancybox.close()

我很感激你的回答,尽管它不起作用<代码>
这就是chrome的开发工具打印的
未捕获类型错误:无法读取未定义的属性“fancybox”
首先,非常感谢。第二,如果没有太多的要求,请你把它的拉链,并把它的链接。由于我下载了您的文件,更改了fancybox目录的路径,因此无法工作。(iframe打开了,但关闭不起作用)这里有一个指向我的目录的链接,其中包括你的文件和fancybox目录——为什么它不起作用?我没有可以使用的主机。。至少没有一个是围绕着httpa的,你有没有可能把你的演示放在一个压缩包里?试着包括更多关于你将把代码放在压缩包里的细节JS@Lima请重新检查初始问题!这个问题也没有提供太多Javascript。没有我可以提供的细节。。。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
        <link rel="stylesheet" href="fancybox/jquery.fancybox.css?v=2.0.4" type="text/css" media="screen" />
        <script type="text/javascript" src="fancybox/jquery.fancybox.pack.js?v=2.0.4"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $(".fancybox").fancybox({
                    maxWidth    : 800,
                    maxHeight   : 600,
                    fitToView   : false,
                    width       : '70%',
                    height      : '70%',
                    autoSize    : false,
                    closeClick  : false,
                    type        : 'iframe',
                    openEffect  : 'none',
                    closeEffect : 'none',
                    afterClose  : function() { 
                        window.location.reload();
                    }
                });
            });
        </script>
    </head>

    <body>
        <a class="fancybox fancybox.iframe" id="newLink" href="b.html">link</a>


    </body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
        <link rel="stylesheet" href="fancybox/jquery.fancybox.css?v=2.0.4" type="text/css" media="screen" />
        <script type="text/javascript" src="fancybox/jquery.fancybox.pack.js?v=2.0.4"></script>
    </head>

    <body>
        <input type="submit" value="Cancel" id="cancelBtn" onclick="parent.jQuery.fancybox.close()"/>
    </body>
</html>
<a href="javascript:parent.jQuery.fancybox.close();"><img src="myCloseButton.png" alt="close fancybox" /></a>
<form id="login_form" action="process.php" onsubmit="javascript:parent.jQuery.fancybox.close();">
    try{
        parent.jQuery.fancybox.close();
    }catch(err){
        parent.$('#fancybox-overlay').hide();
        parent.$('#fancybox-wrap').hide();
    }