2

私のプログラムは 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'
    });

これは、ブラウザの高さに合わせてスケーリングされる「背景」の Rect に配置されます。IE 10、9、および FF ではエラーは発生しませんでした。

しかし、fillRadialGradient でのみ、IE と FF でのみ発生するのはなぜですか? 前に述べたエラーと関係があります。

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

さらに奇妙なのは、FF と IE で正常に動作する Radialgradientfill を持つ別のオブジェクトがあることです。

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 版では結果が違うように見えることがわかりました。正しいものは、その意図したものです。

ここに画像の説明を入力

4

1 に答える 1

3

I believe you are missing a # in the fillRadialGradientColorStops array

0f1114 --> #0f1114
于 2013-04-24T03:28:55.127 に答える