5

私は今、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に単一のキャンバス要素を使用させると、その機能の一部が機能しなくなります(その場でキャンバスオブジェクトが作成されるため)。

これを達成するための私のオプションはどれですか?

4

1 に答える 1

3

簡単な答えは「いいえ」です。

あるコメンターが言及したように、Google Chrome Frameは、基本的に Chrome のレンダリング エンジンを IE プラグインとしてインストールする必要がある代替品です。

最初は良さそうに聞こえるかもしれない、excanvas プロジェクトがあります。IE 6-8 がキャンバスを使用できるように、VML (SVG) でキャンバスを実装する試みでした。

Excanvasはひどいです。特にアニメーションでは、キャンバスの画像操作を行うことができません。そして4年近く更新されていません。私はそれを使用しないことを強くお勧めしますが、あなたの考慮のためにそこにあります.

于 2012-12-19T17:17:53.877 に答える