0

Fancybox を magento admin で使用しようとしていますが、IE9 を除いてすべて正常に動作しています。

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

私のファンシーボックスの呼び出し:

<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 return.iで1つのページにリダイレクトします。同じ動作ですが、ブラウザに「Active the 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 に答える