2009-06-02 90 views
17

我曾經在名爲「BeautyTips」的jQuery插件上工作,它工作得很好。但是,由於我安裝了IE 8,因此這個插件停止工作,因爲它需要Excanvas來讓IE繪製向量,圖像等。可能讓Excanvas在IE 8中工作?

我試圖下載較新版本的Excanvas,但它根本不工作。 ..

+32

我還在想,微軟帶出了沒有本地Canvas的IE8。 – Nosredna 2009-06-02 19:02:09

回答

10

嘗試使用excanvas初始化之前追加畫布元素添加到文檔:

var foo = document.getElementById("targetElementID"); 
var canvas = document.createElement('canvas'); 
canvas.setAttribute("width", 620); 
canvas.setAttribute("height", 310); 
canvas.setAttribute("class", "mapping"); 
foo.appendChild(canvas); 
canvas = G_vmlCanvasManager.initElement(canvas); 
16

新「標準」 IE8的模式將關閉一些非標準的功能。其中包括由excanvas使用的VML。我只是設置爲IE7'標準'模式,所以它仍然有效。

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

令人沮喪,但我不知道IE8帶來的任何優勢。

+0

這很不錯。當我不得不在IE8上使用Canvas時,我將它扔到怪癖模式中,而不是吸引它。 – Nosredna 2009-06-02 19:00:40

+0

它起初使用它,但一直在網頁的其他部分遇到很多問題。手動設置爲最大的IE7兼容性,所以我一直搜索,直到找到這個項目。在理論上,未來的IE瀏覽器(哦,上帝,不!)將允許你從各種'標準'中選擇,從過去的版本 – Javier 2009-06-02 20:47:24

+0

mmm,最後的版本似乎只適用於兼容模式,對我來說也是 – Peanuts 2009-08-01 14:07:16

2

你確定你已經安裝excanvas.js的最新版本? (發佈於2009年3月,舉辦了新的谷歌代碼項目頁)

我使用的美容祕訣插件的IE8和AFAIK它在IE8本機模式下工作。

+0

我didn不知道有一個新的excanvas。謝謝。 – Nosredna 2009-06-02 22:09:19

1

最新的BT插件版本修復了這個問題對我來說。

14

在IE8標準模式下工作是的,我有excanvas(僅測試了我們所需要的使用)。在功能CanvasRenderingContext2D_我註釋行:

//el.style.overflow = 'hidden';//fix IE8

寬度和EL用0像素0像素節點對象的高度,所以不設置溢出隱藏由所呈現的項目可見。

我確實改變了創建canvasPieTimer的順序,以獲得所需的結果。我希望這是有幫助的。

0

追加在畫布標記與jQuery的HTML字符串不excanvas的新版本。您必須首先使用document.createElement('canvas')。

0

如果有人仍然有這個問題: 美容祕訣版本0.9.5修復了這個問題。但是如果你必須使用早期版本(像我這樣做,因爲新版本中引入的提示的問題正在我的網頁過早關閉), 你應該用這些行替換行530:

var canvas = document.createElement('canvas'); 
$(canvas).attr('width', (numb($text.btOuterWidth(true)) + opts.strokeWidth*2)).attr('height', (numb($text.outerHeight(true)) + opts.strokeWidth*2)).appendTo($box).css({position: 'absolute', top: $text.btPosition().top, left: $text.btPosition().left, zIndex: opts.boxzIndex}); 

希望它有助於。