我试着靠近 FancyBox 从内的框架,但是 parent.$ 总是 undefined.这是我的框架JavaScript:

 <script type='text/javascript' 
  src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'>
 </script>
 <script type="text/javascript">
 jQuery(document).ready(function($){
     (function($) {
         $.fn.closeFancyBox = function() {
             $(this).click(function() {
                 parent.$.fancybox.close();
             });
         };
      })(jQuery);
      $('#cancel').closeFancyBox();
      });
 });
 </script>

替换 parent.$.fancybox.close();alert('clicked'); 工作只是罚款。我不明白为什么 parent.$undefined 当框架是在同一个领域。

我兼2.9.1,FancyBox Wordpress插件。

  • 主页: //server.local/web/test/index.php
  • 面页: //server.local/web/test/wp-content/plugins/wp-test/test.htm

第一,这些网址的主页上,第二个是面页; server.local 是我的家测试服务器。

任何想法?我可以引擎收录整个来源,如果这将是有益的。

有帮助吗?

解决方案 8

花了好几个小时试图调试这并得到了行不通的。 所以我切出的'FancyBox WordPress'插件的最新版本的FancyBox,它是固定的。 真的应该已经试过早。

后花了一些时间与主其各个插件,我建议你叫东西动手动而不是依靠插件。它只是增加了另一层复杂性,即,如果你知道你在做什么,不需要在那里。

谢谢Doug指出适当的语法框架,以父窗口jQuery在。

其他提示

它是不确定的因为运行在jQuery noConflict 模式。用这个代替:

parent.jQuery.fancybox.close();

noConflict 模式的装置 $ 不相等!你必须明确使用 jQuery 访问什么你通常可以访问 $.

我的回答是不相关的wordpress,但一fancybox一般。

在该框架,如果你已经包括的主要jquery脚本(jquery-1.5.2.min.js),那么它将冲突与一个在主要页面,以及 父.$.fancybox 不会的工作,在这种情况。

其他jquery相关的东西(如对于例如:标签)将内工作的框架.因此,它不会发生新的程序员,第二jquery脚本里面就是小人。

任何变化的父母。fancybox.close()没有为我工作,必须一些lib冲突。

这是我的工作解决办法的最新fancybox,应使用css显示财产代替。隐藏()方法,因为在这种情况下,fancybox不会再次打开。

parent.jQuery('#fancybox-overlay').css('display', 'none');
parent.jQuery('#fancybox-wrap').css('display', 'none');

我不得不这样做:

窗口。顶部。窗.$.fancybox.close();

有类型的错误。

这个工作对我来说)

<a href="javascript:parent.jQuery.fn.fancybox.close();" >

谢谢你为这个职位,这实际上指引我有点...我感觉很糟糕因为它花了我一只有几分钟而且我知道如何令人沮丧的Fancybox为们的兴趣和承诺的程度.这种!!

没有建议为我工作。我不得不工作的周围使用的以下代码。最新版本可以支持父母。的!fancybox.close();方法,但是旧版本不工作。

对现有网站与旧版本的插件级,试试这个

function close_window()
{
 $("#fancy_outer",window.parent.document).hide();
 $("#fancy_overlay",window.parent.document).hide();
 //window.top.window.$.fancybox.close(); this also does not work :(
}

你可以宣布和使用功能close_window内框架的内容。

我有同样的问题,并注意到,我不用

type:'iframe'

当调fancybox 它解决了我的问题

嗨, 任何人都具有的麻烦,关闭一个奇特的框面使用手册的花哨的框在Wordpress3.0:

使用这个链接在你的面:

<a href="#" onClick="parent.jQuery.fancybox.close();" title="Close window">close fancybox</a>

它的工作原理:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top