我有一个应用程序,我使用Fancyboxes通过Fancyboxes中的IFRAMES显示来自服务器的内容。因此,我希望在服务器中提交或更改数据后运行脚本,该服务器使用IFRAME调用当前的fancybox来关闭并打开另一个内部具有新url,size和iframe的fancybox。
我已经通过各种Google搜索网站尝试了几种不同的代码,但没有一种适用于我的应用。
非常感谢帮助!
更新:在这里找到答案:http://www.amitpatil.me/fancybox-runtime-resizing-of-iframe/
答案 0 :(得分:1)
致电$.fancybox.close
或parent.$.fancybox.close()
(来自iframe),然后打开一个新的:
$.fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'width' : 680,
'height' : 495,
'href' : 'http://example.com/new'
});
或简单地调整fancybox的大小:$ .fancybox.resize()。 这有助于您调整大小:How do you resize Fancybox at runtime?
[UPDATE]
据我所知:你用fancybox打开了A.php。在A.php上你可能有一个表格,表格被提交给B.php。如果是这种情况,你必须关闭+打开或只调整B.php的document.ready中的fancybox父级。$ .fancybox.function_name。
答案 1 :(得分:0)
不知道你是否尝试过这个,但似乎对我有用:
parent.MyFunction(); // call this from the iframed url
function MyFunction(){ // have this in your parent page
// call your fancybox close function here
}
答案 2 :(得分:0)
@TamasPap建议的方法对我不起作用,因为我花了几个小时研究和实验,直到我终于找到一种有效的方法,我想分享它。
parent.$.fancybox.open({ href : 'iframe2.html', type: 'iframe'});
parent.$.fancybox.close({ href : 'iframe1.html'});
您可以按照与创建函数时相同的方式在“iframe”之后指定任何选项,帮助器或css。