有人在IE中成功运行processing.js吗?

7
3个回答

7

可以做到! 但是有一些需要注意的地方。 链接到的页面 没有问题,但请注意以下内容:

1)脚本和画布元素都必须具有id属性。init函数使用这些属性id将给定的脚本与给定的画布相关联。我发现简化的init函数比官方的更容易理解。如果您在一个页面上有多个画布,则需要掌握官方的init函数。

2)如果您使用互联网风格的颜色设计,例如#23ff9a,请注意! IE 8希望从Processing.js / canvas中获得所有大写十六进制颜色数字。编写#23FF9A!这是文档显示的内容,因此不应该完全令人惊讶。错误有时会发生,这使得难以理解。通常,受影响的似乎是具有大量f的较大数字(用于较浅的颜色)。白色#ffffff没问题,但#ff00ff不行。 Firefox和Safari在这方面是不区分大小写的。 文档 表明,您可以使用带有alpha通道的替代十六进制符号(CC)表示法,看起来像0xCC006699。这对我不起作用;也许它在待办事项列表中。

3)字符串上的.equals()方法丢失! Seneca College团队之一Andor Salga正在处理Processing.js的工作,他编写了一个简单的布尔字符串相等(str1,str2)函数,您可以在此处看到。在问题得到明确解决之前,这将起到作用。

4)stroke()与excanvas.js一起使用是可行的。但是,如果您的Processing.js代码有任何小的语法错误(我无法真正分类哪些种类,但尝试使用.equals()会做到这一点),则您的例程可能会在IE8中默默失败,而在Safari或Firefox中,您的矩形可能会失去轮廓,即stroke()将停止工作。 Vista上的IE和Mac上的Safari都表现出比Vista上的Safari或Firefox更强的语法检查,后者将通过某些错误并呈现有缺陷的图形。

使用text()函数调用的文本在Firefox中呈现(使用Firefox选择的不可更改字体),但据我所知,在IE8或Safari中无法呈现。这里建议使用Glyph Method(链接)。代码已经就位,但获取字体似乎是个问题。对我来说,Inkscape看起来非常难懂。据我所知,需要的东西很像旧的钢笔绘图机字体——节点运行之间具有笔移动和笔停止命令的矢量路径。事实证明FSF/GNU有一些可以相对轻松地转换为正确格式的字体。我不知道该格式在哪里定义,但可能在W3C某处。对于可呈现字体的真正潜力,应采取IE/VML系列Cufon的方法。请参见How does it work? 我真的希望得到这个链中的最后一个链接,但我需要一些帮助。

Processing.js是一个值得我们支持的大型项目。它具有巨大的潜力。如果您能够,我鼓励您参与其中。


5

谢谢,这很有帮助。看起来Sparklines示例有自己的onload方法,而其他示例使用某种init.js,在IE + excanvas中似乎无法工作。 - meleyal

1

这个页面描述了如何让processing.js和excanvas一起工作。

基本上,它涉及编写自己的onload init方法,以便IE可以理解。


不幸的是,即使它能够工作,VML IE 似乎不支持一些必要的东西。如果你正在移植一个处理应用程序,不要期望从 IE 中得到更多的东西,除了 2D 线条绘制 :( - meleyal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接