0

私は wmd エディターを使用しています。これには、最初に jQuery をロードする必要がある独自の js ファイルがありますが、Yii フレームワークには、すべての head 要素の後にロードされるアセットに登録されている独自の Jquery ライブラリがあります。jQuery がなければ Wmd エディターがクラッシュします。最初に読み込まれたので、最初に head 要素を含める必要がありました。ページが読み込まれると、jQuery.yii もすべての head 要素の最後に追加されます。つまり、2 回読み込まれ、コードで競合が発生します。私のファイルは頭のように見えます

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="language" content="en" />
    <script type="text/javascript" src="/codepac/css/wmd/showdown.js"></script>
   <b> <script type="text/javascript" src="/codepac/css/wmd/jQuery/jquery-1.2.6.min.js "></script></b>
    <script type="text/javascript" src="/codepac/css/custom_js.js "></script>
    <script type="text/javascript" src="/codepac/css/prettify/src/prettify.js"></script>

ブラウザで、このようなすべての head 要素の最後に自動的にロードされた Jquery の別のコピーを見つけることができます

<script type="text/javascript" src="/codepacu/assets/21a12630/jquery.js"></script>

最初にロードできる方法があるかどうか、またはまったくロードせずにGoogleのcdnコピーを使用する方法があるかどうか疑問に思っていました.

ありがとう

4

2 に答える 2

1

Yii Framework ガイドには、達成しようとしていることに特化したセクションがあります。ここで確認できます。また、メソッドを使用して本体の下部に Wmd を含めたほうがよい場合があります。このCClientScript::registerScriptFile()メソッドには、スクリプトを含める場所のパラメーターが含まれています。

于 2012-08-06T13:29:38.747 に答える
0

@Grampa の回答は、Google からの読み込みにのみ役立ちますが、WMD の問題には役立ちません。

Yii は 1.7.1 を使用しているのに対し、WMD は非常に古いバージョンの jQuery (1.2.6) を使用しているようです。あらゆる種類の競合に遭遇することになりますが、これに対する優れた回避策はありません。

ページに複数のバージョンの jQuery を含めることについてのこの回答がありますが、そのうちの 1 つを $ ではなく $$ として参照するように変更する必要があります。つまり、WMD 内のすべての jQuery オブジェクトを調べて、$ の代わりに $$ を使用するように変更する必要があります。

私があなただったら、 1.7.1 と互換性のある最新バージョンの jQuery を使用する、より最新の WYSIWYG エディターを探し、代わりにそれを統合しようとします。

于 2012-08-06T15:56:48.587 に答える