1

JS アプリケーションの負荷が高くならないように、ビューでファイルをロードしたいと思います。私はこのJSファイルをCgrdViewビューに使用しています。だから私はこれを試しました:

Yii::app()->clientScript->registerScriptFile(
Yii::app()->baseUrl.'/assets/9d419b82/jquery.ba-bbq.js?v=1.0.127'
);

マイビューヘッダー。しかし、エラーが発生します:Uncaught ReferenceError:jQueryが定義されていません 前述のように、CgriViewのビューでjquery.ba-bbq.jsファイルをロードしたいのですが、ロードできません。代わりに、私は以下を使用しますが、ロードするかどうかを効率的に行う方法がわかりません。

<script src="/assets/9d419b82/jquery.ba-bbq.js?v=1.0.127" type="text/javascript"></script>

そして、それをレイアウトにロードすると機能しますが、これは効率的な方法ではありません。

参考:cgridview検索ボックスを使用して、検索ボックスのエントリをコントローラーに投稿しています。

4

1 に答える 1

5

bbqスクリプトはコアスクリプトとして利用可能であり、それを登録するとjquery.jsもロードされます。したがって、バーベキューを使用するには、次のようにする必要があります。

Yii::app()->clientScript->registerCoreScript('bbq');

アセットフォルダは本質的に動的であり、スクリプト、css、画像をWebアクセス可能なディレクトリに保存するために使用されます。さまざまなYiiウィジェットによって自動的に入力され、呼び出したときにも自動的に入力されますregisterCoreScript。これらの理由やその他の理由から、アセットフォルダーに依存してjs、css、画像を含めるのではなく、フレームワークに含めるようにしてください。


ドキュメントでコアパッケージのリストを見つけることができませんでしたが、ソースファイル(framework / web / js / packages.php )で確認できます。


が付いたビューでこれが必要なCGridView場合CGridViewは、このスクリプトが自動的に読み込まれるので、再度登録する必要はありません。

于 2013-01-08T06:24:44.743 に答える