我正在使用HTML5和JavaScript的canvas标签来访问画布方法和属性。
此代码适用于Chrome,但不适用于Firefox:http://jsfiddle.net/thirtydot/BD3xA/。
有谁知道为什么?
答案 0 :(得分: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);
以上在chrome上很有用,但由于rgba颜色为0.7,因此无法在FF上使用。
所以,我使用类似的东西:
colorOut= ($.browser.mozilla)?'#D88':'rgba(200,100,100,0.7);';
这不会使渐变在FF上显得非常好,但是功能。
当然,您应该先缓存$ .browser.mozilla - 创建一个var IS_MOZILLA = $ .browser.mozilla;然后使用它(以便最小化类调用...因为在复杂的绘图调用中保存每个计算都很重要。)