私は今、IE8で動作するためにKinetic.jsとcanvas要素で動作するいくつかの複雑なコードが必要な状況にあります。
公式には、Kinetic.jsはIE8をサポートする予定はありません。
webshims libを使用しようとしましたが、Kinetic.jsが次のコードで失敗します。
Kinetic.Canvas = function(width, height) {
this.element = document.createElement('canvas');
this.context = this.element.getContext('2d'); //<-- Error here
// set dimensions
this.element.width = width;
this.element.height = height;
};
エラーは「オブジェクトはプロパティまたはメソッド'getContext'をサポートしていません」です。IE8ドキュメントによって作成された要素canvasがcanvas要素のメソッドを実装することは期待できないので、私には理にかなっていますが、<canvas>
要素がすでに作成されている場合は、webshimsが再生され、メソッドを使用できます。ただし、Kinetic.jsに単一のキャンバス要素を使用させると、その機能の一部が機能しなくなります(その場でキャンバスオブジェクトが作成されるため)。
これを達成するための私のオプションはどれですか?