jQuery Lightbox Evolution:在iframe外部加载灯箱

我正在使用jQuery Lightbox Evolution插件,我在iframe中有照片链接。 我希望Lightbox在父窗口的iframe外面打开。

在FAQ中,我发现我可以在父级上添加一些代码:

 function frameload(iframe) { var doc = iframe.contentWindow || iframe.contentDocument; if (doc.document) { doc = doc.document; }; $('.lightbox', doc.body).lightbox(); };  

但是不行,因为我的代码是使用php内联生成的,动态的。 所以我不会在head标签中“初始化”插件,只需在代码中调用它即可。

我的代码片段初始化了插件:

 echo ''; echo ' $(document).ready(function(){ $("#open_'.$emp_alias.'").click(function(ev) { $.lightbox(['; while($images_array = mysql_fetch_assoc($query_emp_images)) { echo '"/destaques/'.$images_array['path'].'",'; } echo ']); ev.preventDefault(); }); }); '; 

有一种方法可以在父窗口中加载它吗?

谢谢

它在文档中:

9.如何从iframe内部的父窗口中打开Lightbox? 您需要做的第一件事是在父窗口中安装脚本,但不要初始化它。 不要使用jQuery(document).ready,而是添加以下代码:

  

插入onload =“frameload(this);” 在你的iframe标记中。

  

单击子页面中的图像时,灯箱将显示在父页面中。 请记住删除子页面中的脚本以避免任何问题。

一个简单的解决方法对我有用,就是在父窗口中初始化灯箱,然后创建一个空白占位符链接,以及更改href并单击占位符链接的函数:

在父窗口的页眉或页脚中:

  

在父窗口的主体中的某个位置:

  

所以在iframe中我调用父函数来启动fancybox:

 Preview