0

我正在尝试将 Fancybox 与 magento 管理员一起使用,除了 IE9 之外,所有工作都正常存在发生了什么:我正在通过 ajax 提供我的 fancybox,我的链接是这样的:

<a class="fancybox fancybox.ajax" href="http://10.1.1.34/clovis/index.php/ClearSale/Standard/Index/codPedidoCS/100000048/">ClearSale</a>

我的fancybox调用:

<script type="text/javascript">
        jQuery(function() {
             jQuery('.fancybox').fancybox();
        });
</script>

我的ajax回报:

echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><b><span style='color:red;'>Ocorreu um erro, por favor entre em contato com o suporte.</span></b>";

但是这个 ajax 返回可能是任何东西,我也有同样的问题。会发生什么:在 Firefox 上一切正常。但是在 IE9 上,当我单击链接时,他显示了 fancybox 2 秒,并使用 ajax 返回重定向到一页。我已经尝试了所有,但没有任何工作,我打开了 fancybox 的演示文件,并发生了 ajax 示例相同的行为,但在浏览器上显示消息“激活activeX”,如果我激活一切正常,但在我的代码上不要要求激活activeX。我不知道我还能做什么。请有人帮忙。提前致谢。

4

1 回答 1

0

我解决了它,我不知道是谁或为什么,但是当我告诉:

<a href="www.google.com"/>

并使用 jquery 单击并使用 prevent return false 或 preventDefault 来不发送到 url IE9 变得疯狂并且不能这样做。因此,当我告诉 href='php action reference' fancybox 时,尝试在 fancybox 上加载返回值并阻止 url 加载。但这不是在 ie9 上发生的,他打开了盒子并进行了重定向。所以我的解决方案是,我在我的 .phtml 上创建一个 div 用于加载内容。并这样做:

    jQuery(function(){
        jQuery('.fancybox').bind('click',function(){
            jQuery.ajax({
                  url: jQuery(this).attr('href'),
                  cache: false,
                  success: function(html){
                      jQuery('#clearsale').html(html);
                  }
                });
            jQuery.fancybox(jQuery('#clearsale'));
            return false;
        });
    });
    </script>   
<div id="clearsale" style="width:600px;height:100px;display: none;">
</div>

现在工作正常。

于 2012-10-02T14:53:17.217 回答