为什么 createRadialGradient 在 Firefox 上不起作用?
我正在使用 HTML5 和 JavaScript 的 canvas 标签来访问 canvas 方法和属性。
此代码适用于 Chrome,但不适用于 Firefox:http://jsfiddle.net/thirtydot/BD3xA/ 。
有谁知道为什么?
I'm working with the canvas tag of HTML5 and JavaScript to access the canvas methods and properties.
This code works on Chrome but it doesn't work on Firefox: http://jsfiddle.net/thirtydot/BD3xA/.
Does anyone know why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
createRadialGradient 在 Firefox 上工作,但 addColorStop 不能完全工作 - 如果您随颜色一起传递透明度,则会抛出异常。
例如,创建径向渐变后:
上面的代码在 chrome 上效果很好,但在 FF 上不起作用,因为 rgba 颜色为 0.7。
所以,我使用类似的东西:
这不会使渐变在 FF 上看起来非常漂亮,而是在函数上。
当然,您应该提前缓存 $.browser.mozilla - 创建一个 var IS_MOZILLA = $.browser.mozilla;然后使用它(这样就可以最大限度地减少类调用......因为保存复杂绘图调用中的每个计算很重要)。
createRadialGradient works on Firefox, but addColorStop does not work completely - and will throw an exception if you pass in a transparency along with your color.
For example, after you create a radial gradient:
The above works great on chrome, but will not work on FF because of the 0.7 in the rgba color.
So, I use something like:
This doesn't make gradients look quite so nice on FF, but functions.
Of course, you should cache that $.browser.mozilla earlier - make a var IS_MOZILLA = $.browser.mozilla; and then just use that (so that you minimize class calls... as saving every computation in complex drawing calls is important).