我現在處於一種情況,我需要使用一些複雜的代碼來處理Kinetic.js和canvas元素來處理IE8。任何使Kinetic.js支持IE8的方法?
正式的,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>
元素,則可以使用webshims並且可以使用這些方法。但是,強制Kinetic.js使用單個畫布元素會破壞其一些功能(因爲它會動態創建畫布對象)。
這是我的選擇,以實現這一目標?
可能是Chrome Frame可以幫到你嗎? http://www.google.com/chromeframe?quickenable=true – Flot2011
@ Flot2011這是一種可能性,謝謝。 – Alpha
對於對此感興趣的人 - http://fabricjs.com/可能值得考慮。它支持IE8(雖然我沒有測試它的效果)。如果您對Canvas或SVG沒有那麼挑剔,請考慮http://raphaeljs.com/(IE8支持對基本載體很有用,但對文本和任何使用png圖像作爲填充的垃圾) – user568458