KineticJS不在FF和IE中工作

时间:2013-04-19 09:37:46

标签: javascript html5 html5-canvas kineticjs

我的程序在Chrome中完美运行,但是使用FF和IE,我的画布已经不见了。 我在Firefox中遇到的错误是:

SyntaxError: An invalid or illegal string was specified:
...][c].apply(this[b],args)}})(c)}}(),function(){Kinetic.Filters.Grayscale=function...
On kineticJS.js (line 28) (KineticJS JavaScript Framework v4.4.0)

我在IE中遇到的错误是:

SCRIPT5022: SyntaxError 
h.addColorStop(g[i],g[i+1])
on kineticJS.js, line 28 character 7356

有人知道最新情况吗?

编辑3:

当我使用fill: 'white'代替

background = new Kinetic.Rect({
          x: 0,
          y: 0,
          fillRadialGradientStartPoint: 0,
            fillRadialGradientStartRadius: 0,
            fillRadialGradientEndPoint: 0,
            fillRadialGradientEndRadius: 800,
            fillRadialGradientColorStops: [0, '#262834', 1, '0f1114'],
          width: browserwidth,
          height: browserheight,
          name: 'background'
    });

它被置于'background'Role中,随着浏览器的高度缩放,我在IE 10,9和FF中没有错误。

但是为什么它只发生在fillRadialGradient并且仅在IE和FF中?它与我之前提到的错误有关:

 h.addColorStop(g[i],g[i+1])
on kineticJS.js, line 28 character 7356

更奇怪的是,我有另一个使用radialgradientfill的对象,它可以在FF和IE中正常工作。

var lichtrondje = new Kinetic.Circle({
                  x: 0,
                  y: 0,
                  radius: 90,
                  fillRadialGradientStartPoint: 0,
                  fillRadialGradientStartRadius: 0,
                  fillRadialGradientEndPoint: 0,
                  fillRadialGradientEndRadius: 90,
                  fillRadialGradientColorStops: [0, '#DDD', 1, 'rgba(0,0,0, 0.0)'],
                  opacity: 1,
                  id: 'lichtrondje' + x,
                  name: 'lichtrondje'
            });

我发现Chrome版本与FF和IE版本之间的结果有所不同。正确的是它的意图。

enter image description here

1 个答案:

答案 0 :(得分:3)

我相信你在fillRadialGradientColorStops数组

中缺少一个#
0f1114 --> #0f1114