当我关闭Fancy Box弹出框架时,我希望我的父页面刷新.我在弹出窗口中有一个登录页面,所以我需要刷新父页面以在Fancy Box关闭时显示新的登录状态.
我可以在没有iFrame代码的情况下使用它:
<script type="text/javascript">
$(document).ready(function() {
$("a.iframeFancybox1").fancybox({
'width': 800,
'height': 450,
'onClosed': function() {
parent.location.reload(true);
;}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但我无法使用iFrame代码:
<script type="text/javascript">
$(document).ready(function() {
$('a.iframeFancybox1').fancybox({
'width': 800,
'height': 450,
'type' : 'iframe'
'onClosed': function() {
parent.location.reload(true);
;}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
问题与这条线有关:
'type' : 'iframe'?
Run Code Online (Sandbox Code Playgroud)
一旦我添加该行,弹出窗口就会停止工作.
任何人都可以建议一个解决方案,我如何iframe
在Fancy Box中弹出一个弹出框,并在框关闭时仍然可以刷新父页面?谢谢!
小智 29
$(".fancybox").fancybox({
type: 'iframe',
afterClose: function () { // USE THIS IT IS YOUR ANSWER THE KEY WORD IS "afterClose"
parent.location.reload(true);
}
});
Run Code Online (Sandbox Code Playgroud)
或者:
转到你的jquery.fancybox.js文件并转到第1380行它看起来像这样并添加parent.location.reload(true);
afterClose: function (opts) {
if (this.overlay) {
this.overlay.fadeOut(opts.speedOut || 0, function () {
$(this).remove();
parent.location.reload(true);
});
}
this.overlay = null;
}
Run Code Online (Sandbox Code Playgroud)
小智 10
$(".fancybox").fancybox({
'width' : '75%',
'height' : '65%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe',
'hideOnOverlayClick': false,
'onClosed' : function() {
parent.location.reload(true);
}
});
Run Code Online (Sandbox Code Playgroud)
对我来说,下一个代码工作正常:
$("a.ic-edit").fancybox({
'width' : '65%',
'height' : '85%',
'autoScale' : false,
'titleShow' : false,
'transitionIn' : 'no',
'transitionOut' : 'no',
'scrolling' : 'no',
'type' : 'iframe',
onCleanup : function() {
return window.location.reload();
}
});
Run Code Online (Sandbox Code Playgroud)
我不能准确地说,但也许是使用“onCleanup”的原因(实际上我没有尝试使用onClosed)。