关于magento的fancybox混合内容问题

时间:2011-02-01 06:46:07

标签: jquery ssl magento https fancybox

我在顶部使用fancybox登录/注册链接。该网站完全是http,当然客户希望启用ssl并启用该https。所以这里的fancybox最终出现了问题。

这是标题链接的phtml代码。

<li id="header-main-info-left">
                                                Hi Guest, <a class="lightbox-start" href="<?php echo Mage::getUrl('customer/account/ajaxlogin');?>">Sign in</a>
                                                or <a class="lightbox-start"  href="<?php echo Mage::getUrl('',array('_secure'=>false));?>customer/account/create/">Register</a>                    
                                            </li>       

当我点击没有响应时,经过长时间的调试我发现/猜测它是一个混合内容问题。因为我在不安全的页面中加载了一个安全的页面内容。

如何使用magento中的fancybox在http页面上加载https内容。

请帮帮我。

提前致谢。

2 个答案:

答案 0 :(得分:0)

看起来你需要以//而不是http(s)://开头,因为它会为你自动完成所有这些操作。将firebug放在页面上,看看是什么引发了http而不是https,在你的代码中找到它并把//放在前面。

更重要的是,为什么你在普通的javascript +原型中使用fancybox而不是自己的模态窗口?

答案 1 :(得分:0)

在fancybox上使用iframe类型我在fancybox中通过http加载了https页面。

 jquery("a.lightbox-popup-start,a.lightbox-start").fancybox({
            'transitionIn'      :   'elastic',
            'transitionOut'     :   'elastic',
            'speedIn'       :   800, 
            'speedOut'      :   400, 
            'width'         :   740, 
            'height'        :   430, 
            'type'          :       'iframe',
            'overlayShow'       :   true
        }); 

但正如你们再次猜测的那样,IE8显示内容被拒绝,因为它在iframe上加载了安全内容。

此外,我尝试使用这两个选项来关闭fancybox。但它不起作用。 Anybosy猜测为什么它不起作用。

top.w49.fancybox.close();
parent.w49.fancybox.close();

提前致谢,