1

CMS 用に作成している製品に fabric.js を統合しようとしています。問題は、ファブリック デモ サイトのベースにしているコードで、すべてのファブリック機能/コードを開始するコードの上に次の行があることです。

var $ = function(id){return document.getElementById(id)};

CMS が通知のためにバックグラウンドで ajax コードを実行しているのを見て、$:

TypeError: $(document) is null

TypeError: $.ajaxUpdater is not a function

私はその行を削除して変更しようとしましたが、明らかにうまくいきませんでした:)。上記は両方とも、CMS の main.js ファイルを参照しています。$ を別のものに変更し ($$ と z を試しました)、エラーはなくなりましたが、キャンバス上のオブジェクトを選択しようとすると多くの奇妙な動作が発生し、フィルターが機能しなくなったため、これは機能しません。$ のすべてのインスタンスを正しく置き換えたことを確認しました。JQuery の noConflict メソッドも試してみましたが、うまくいきませんでした。

ここで明らかな何かが欠けていますか?私は助けを求めてウェブを探しましたが、製品を作成するときにユーザーにコアファイルの変更を強制するのは悪い形である CMS 内で JQuery を使用する例を見つけることができません。2 つを最初から一緒に使用したい場合、どうすればそれができるかはわかっていると思いますが、CMS コアの js コードを変更せずにこれを行うのは難しいことがわかります。誰にもヒントはありますか?どうもありがとう。

4

1 に答える 1

1

OK私はこれを解決しました。完全な例に飛び込むのではなく、ゼロから始めて、少しずつ構築しました。これで、すべてのフィルターが競合なしで機能するようになりました!

于 2012-09-14T23:29:03.710 に答える