我正在寻找通过ExplorerCanvas或类似工具在 Internet Explorer 中工作的processing.js示例。
3 回答
可以办到!然而,有一些陷阱。就目前而言, htxt 链接到的页面很好,但请注意以下几点:
1) script 和 canvas 元素都必须有 id 属性。init 函数使用这些属性 id 将给定脚本与给定画布相关联。我发现简化的 init 函数比官方的更容易理解。如果您在一页上有多个画布,您将想要掌握官方的。
2) 如果您使用互联网风格的颜色名称,例如#23ff9a,请注意!IE 8需要 Processing.js/canvas 中的所有大写十六进制颜色数字。写#23FF9A!这是文档显示的内容,因此不应完全令人惊讶。错误是有时会发生的事情,这让人很想弄清楚。大多数情况下,带有很多 f 的较大数字(对于较浅的颜色)似乎受到影响。白色 #ffffff 可以,但 #ff00ff 不行。Firefox 和 Safari 在这方面不区分大小写。文档说您可以使用看起来像 0xCC006699 的 alpha 通道 (CC) 的替代十六进制表示法。这对我不起作用;也许它在待办事项清单上。
3) 缺少字符串上的 .equals() 方法!Andor Salga 是 Seneca College 的一名处理 Processing.js 的工作人员,他编写了一个简单的布尔型 stringsEqual(str1, str2) 函数,您可以在此处查看。这将一直持续到问题得到彻底解决。
4) stroke() 不适用于 excanvas.js 是不正确的。确实如此。但是,如果您的 Processing.js 代码甚至有一点语法错误(我无法真正分类哪些类型,但尝试使用 .equals() 会做到这一点)您的例程可能会在 IE8 中静默失败,而在 Safari 或Firefox,您的矩形可能会失去轮廓,即 stroke() 将停止工作。Vista 上的 IE 和 Mac 上的 Safari 都表现出比 Vista 上的 Safari 或 Firefox 更强大的语法检查,这将导致某些错误并呈现有缺陷的图形。
5) 使用 text() 函数调用的文本在 Firefox 中呈现(以 Firefox 选择的不可更改字体),但据我所知,不在 IE8 或 Safari 中。这里建议使用Glyph方法。代码已经到位,但获取字体似乎是个问题。Inkscape 对我来说看起来非常难以理解。据我所知,所需要的很像旧的笔式绘图仪字体——在节点运行之间带有上笔和下笔命令的矢量路径。事实证明 FSF/GNU 有一些可以在没有太多麻烦的情况下被按摩成正确的格式。我不知道格式是在哪里定义的,但它可能在 W3C 的某个地方结束了。真正具有可展示字体潜力的方法是 Cufon 的 IE/VML 翼。看看它是如何工作的?我真的很想要这个链条中的最后一个环节,但我可以使用一些帮助。
Processing.js 是一个值得我们支持的项目。它具有巨大的潜力。如果可以的话,我会鼓励你参与进来。
processing.js 展示页面上的迷你图示例使用 ExplorerCanvas。看起来它只是一个插入式解决方案,不需要额外的编码。
这个页面描述了如何让 processing.js + excanvas 一起工作。
它基本上涉及编写自己的 IE 可以理解的 onload init 方法。