opening fancybox2 from iframe


opening fancybox2 from iframe

我正在使用php创建youtube拇指,需要打开youtube视频,fancybox在iframe中调用它。fancybox 2常见问题告诉:

可以从iframe调用脚本吗?如果所有必要的文件都包含在父窗口中,那么你可以,比如:

<a href="javascript:parent.$.fancybox.open({href : 'myurl'});">Open something</a>

所以我这样做了,我的fancybox实际上按预期从iframe打开到父窗口。唯一的问题是,它告诉"无法加载请求的内容",而不是视频。请稍后再试"-原因可能是http:address有问题,我看不出脚本错误在哪里。

我用来在Iframe中创建链接的脚本:

...some php here...
echo('
<div class="tube"><a title="'.$title.'" href="javascript:parent.Mybox.fancybox.open    ({href : ''http://www.youtube.com/v/'.$v.'?  feature=player_embedded&version=2&autohide=1&hd=1&modestbranding=1&rel=0&border=0&autoplay=0&fs=1&fmt=22 ''});"><img style="border:2px solid #000;margin:5px;" alt="'.$title.'" src="http://i1.ytimg.com/vi/'.$v.'/default.jpg"/></a>');
...some more php here...

它产生的结果看起来像这个

<div class="tube"><a title="MyTitle" href="javascript:parent.Mybox.fancybox.open({href : 'http://www.youtube.com/v/J0_5JEJdB5g?feature=player_embedded&version=2&autohide=1&hd=1&modestbranding=1&rel=0&border=0&autoplay=0&fs=1&fmt=22 '});"><img style="border:2px solid #000;margin:5px;" alt="MyVideo" src="http://i1.ytimg.com/vi/J0_5JEJdB5g/default.jpg"/></a><p>09.11.2012<br/>MyVideo<br/>213times</p></div>

那么我做错了什么?"myurl"或我的fancybox设置有什么问题?

我的fancybox设置是:

<script type="text/javascript">
Mybox(document).ready(function() {
    Mybox('#tubeframe')
            .attr('rel', 'media-gallery')
            .fancybox({
                openEffect : 'elastic',
                closeEffect : 'fade',
                prevEffect : 'none',
                nextEffect : 'none',
                padding : 0,
                autoScale   : true,
                fitToView  : true,
                height      : 475,
                width           : 846,
                fixed : true,
                arrows : false,
                helpers : {
                    media : {},
                    buttons : {},
                    title: {
                type: 'outside'
    },
                overlay : {
                    opacity: 0.7,
                    css : {
                    'background-color' : '#433'
        }
    }
                }
            });
 });
     </script>  

经过几天的搜索,找到了此处描述的解决方案:

从iframe中打开iframe fancybox,使其在父中打开

这一切都是关于fancybox设置