【发布时间】:2013-04-12 16:06:17
【问题描述】:
我的程序在 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'
});
它放置在“背景”矩形中,与浏览器高度一起缩放我在 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 版本的结果看起来不同。正确的是它的意图。
【问题讨论】:
-
需要查看行为不端的代码才能提供帮助。
-
编辑了新发现
-
请指定您正在测试的浏览器版本(尤其是 IE)。
-
它在 IE 10 和 IE 9 中导致相同的错误
标签: javascript html html5-canvas kineticjs