1

わかりましたので、しばらくこれを調査して、何回知っているJavaScriptファイルを並べ替えました。Prototype と jQuery がうまく連携しないことは知っています。ただし、jQuery は機能していますが、jQuery UI 関数は機能していません。

js ファイルを次の順序でリストしています: -prototype.js -jquery.js -jquery-ui.js -jquery-noconflict.js

私のjQuery no conflictファイルは次のようになります:

jQuery.noConflict();

そのジャンクはすべてタグにあります。ページの後半で、私はこれをやっています:

<div class="product_tabs clearfix">
    <ul>
        <?php if ($_description): ?> <li><a href="#tabs-1"><?php echo $this->__('Details') ?></a></li> <?php endif; ?>
        <li><a href="#tabs-2">Review</a></li>
        <li><a href="#tabs-3">Tags</a></li>
    </ul>
    <div class="std clearfix">
        <?php if ($_description): ?> <div id="tabs-1"><?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description') ?></div> <?php endif; ?>
        <div id="tabs-2">
            <div class="row">
                <div class="span5"><?php echo $this->getChildHtml('review_form') ?></div>
                <div class="span4"><?php echo $this->getChildHtml('reviews') ?></div>
            </div>
        </div>
        <div id="tabs-3"><?php echo $this->getChildHtml('product_tag_list') ?></div>
    </div>
</div>
<script type="text/javascript">
    jQuery(document).ready(function($) {
        $('.product_tabs').tabs();
    });
</script>

そして、これは壊れています..ただし、noconflictファイルの前に呼び出される私のmain.jsファイルですが、jsとprototypeファイルの後、上記の関数と同じready()を使用してドロップダウンナビゲーションで動作します。

ただし、その tabs() 関数を main.js ファイルに移動しましたが、ページから消去しても機能しません。誰にもこれに対する解決策はありますか?

tabs() 関数を使用していたページの noconflict を消去したところ正常に動作しましたが、IE8 以下では動作しません。それは価値のある解決策ではありませんでした... それが私が考えることができる唯一の解決策でした.

また、Magento CMS を使用しているため、プロトタイプを維持する必要があります。

4

2 に答える 2