私はこの「ウィジェット」を作成しました。クライアントはangular2でウェブサイトにロードできます。例えばangular2/webpackにes6ブラウザシムを適用する
<some-name config="clientcode"></some-name>
いくつかのより多くの設定がありますなどそれは関係ありませんですが、値はネイティブの要素から引き出され、すべてが同様に古代のブラウザで正常に動作するようです。
しかし1つのクライアントは、彼らがそうのようにそこにいるかどうかをチェックせずに(これらすべてのファンシーpolyfills /シムを使用しています。
Object.extend(Function.prototype, {
argumentNames: function() {
var a = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g, "").split(",");
return 1 != a.length || a[0] ? a : []
},
bind: function() {
if (2 > arguments.length && Object.isUndefined(arguments[0]))
return this;
var a = this
, b = $A(arguments)
, c = b.shift();
return function() {
return a.apply(c, b.concat($A(arguments)))
}
}, ... });
私angular2ウィジェットを持つこれらの競合このスニペットの特に最後の4行が(本当に最後の1つ)
私はロールバックしなければならなかったRC5で作業していたのですが、 に戻ってきました。私のクライアントのオーバーライドにそれらのシムを含めるようにangular2/webpackを強制することができますか?既存のウェブサイトに常に埋め込まれていることを確認しますか?これは少し鼓動しますが、この場合はそれはウェブサイト/サービスの人々が月に1回または週に1回使用するので、大きな問題ではありません。
それは私のangular2ウィジェットと何この*競合の特に最後の4行は明らかではありませんこのスニペットは意味するはずです。エラーがあれば、投稿してください。 – estus
私はそれを再構築できるかどうかを確認します。スタックオーバーフローが発生しました。その行に戻ります(a.applyを返します)。基本的には、Function.bindまたはFunction.applyの実装が間違っています。 しかし、私は匿名で綱引きをすることができるかどうかを確認します。 –