2012-02-22 11 views
2

emberの初期化フローの同じページに読み込まれたprototype.jsが乱れ、内部のEmberオブジェクト(アプリケーション、ビューなど)が定義されていません。 ember.minでhttps://github.com/eishay/starter-kitprototype.jsを持つページでEmber.jsを実行できません

Uncaught TypeError: Object #<Object> has no method 'each' 
collect prototype.js:864 
init Mixinember-0.9.5.js:5927 
Mixin.create ember-0.9.5.js:6175 
get ember-0.9.5.js:6394 
(anonymous function) 

で 参照サンプルプロジェクト:

Enumerable.collect() at prototype.js:485 
n() at ember-0.9.5.min.js:10 
b.create() at ember-0.9.5.min.js:10 
(anonymous function)() at ember-0.9.5.min.js:10 
(anonymous function)() at ember-0.9.5.min.js:10 

編集:エンバーを取得することができるならば ちょうどhttps://github.com/emberjs/ember.js/issues/453なし解像度

答えて

3

でそれを議論スレッドを見ました。 jsがプロトタイプの前にロードされると、これが解決されます。

Ember.jsはmap()を広く使用していますが、prototype.jsは独自の実装(collect())で喜んでオーバーライドしているようです。

パッチを当てるプロトタイプは非常に簡単です。たとえば、マップを_mapに置き換えて、よりうまく再生できるようにしています。これはあなたの問題ではありません。何が価値がある、ここで更新されたプロトタイプのために

https://github.com/AvnerCohen/Prototype.js-map-patched

注いくつかのものは、prototype.jsの1.7で、今で変更しましたが、この1問題が解決していること。..

+0

おかげで、私はよ私のコントロールを持っていないホストされたページに私のjavascriptアプリケーションを埋め込む。私がarray.prototypeの問題を修正したときに、他のものが登場しました。私はエバーを使うことができないだろうと思う。詳細については、https://github.com/emberjs/ember.js/issues/453#issuecomment-4111293 –

+0

を参照してください。Emberにはプロトタイプスイッチが無効になっており、javascriptの組み込みオブジェクト(配列、文字列、関数)またはライブラリを変更する:http://emberjs.com/guides/configuring-ember/disabling-prototype-extensions/ – Szabi

+0

@ Jar.Jar.beans、あなたは今私のヒーローです。 – Beez

関連する問題