下面是我工作:
我的页面有一个DIV内的IFRAME
,该DIV是什么facebox应该是fadeIn
和fadeOut
。该IFRAME
的SRC是上有一个链接页面,看起来像这样:
<a href="#" onclick="parent.close_facebox()">close this facebox modal</a>
在包含DIV和IFRAME
页面(不叫进IFRAME
页)的HEAD
,我有JavaScript功能close_facebox()
看起来像这样:
function close_facebox() { jQuery(document).trigger('close.facebox'); }
就这样。未经过跨浏览器测试或尚未投入生产。我花了几个小时搜索这个问题,并试图从单引号改为双引号,document-dot-this和parent-dot,即window.frames['whatever']
,这个单行函数实现了它。如果您尝试从调用IFRAME
的页面触发该功能,则必须确保使用parent.close_facebox()
。希望这可以帮助。
顺便说一句,请参阅facebox.js 1.2版本的第47和49行 - 此解决方案就在.js文件本身的注释“用法”部分。我复制&粘贴线49到我的功能,没有改变任何事情,除了取消注释吧:)
来源
2011-11-29 18:53:53
Jim
是来自同一个域的父级和iframe内容?如果没有,那么它的xss限制阻止你。 –
是的,他们是一样的。 –