0

キャンバスのメソッドとプロパティにアクセスするために、HTML5 と JavaScript のキャンバス タグを使用しています。

このコードは Chrome では機能しますが、Firefox では機能しません: http://jsfiddle.net/thirtydot/BD3xA/

誰かが理由を知っていますか?

4

1 に答える 1

0

createRadialGradient は Firefox で動作しますが、addColorStop は完全には動作しません。色と一緒に透明度を渡すと、例外がスローされます。

たとえば、放射状グラデーションを作成した後:

var grad = ctx.createRadialGradient(centerX,centerY,outRadius,centerX,centerY,outRadius+pad);
var colorOut="rgba(100,200,100,0.7)";
grad.addColorStop(0,'rgba(0,0,0,0)');
grad.addColorStop(0.01,colorOut);

上記はクロムではうまく機能しますが、rgba カラーが 0.7 であるため、FF では機能しません。

だから、私は次のようなものを使用します:

colorOut= ($.browser.mozilla)?'#D88':'rgba(200,100,100,0.7);';

これにより、FF でグラデーションがきれいに見えるわけではありませんが、機能します。

もちろん、その $.browser.mozilla を先にキャッシュする必要があります - make a var IS_MOZILLA = $.browser.mozilla; それを使用するだけです(クラス呼び出しを最小限に抑えるため...複雑な描画呼び出しですべての計算を保存することが重要であるため)。

于 2012-07-14T12:29:52.240 に答える