Jquery iframe上的Fancybox.close()
我正在使用最新的fancybox(2.0.4),并为iframe创建了一个fancybox。内容显示正确。我在我的html中添加了一个“关闭”按钮,该按钮在iframe中显示。我希望“关闭”按钮的结果与单击fancybox右上角的“x”按钮的结果相同。我很熟悉,我的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
父对象是一个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();
}