我在顶部使用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内容。
请帮帮我。
提前致谢。
答案 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();
提前致谢,