【问题标题】:Has anyone got processing.js working in IE?有没有人让 processing.js 在 IE 中工作?
【发布时间】:2009-05-13 09:22:49
【问题描述】:

我正在寻找processing.js 通过ExplorerCanvas 或类似方法在Internet Explorer 中工作的示例。

【问题讨论】:

    标签: javascript internet-explorer canvas processing.js


    【解决方案1】:

    可以做到!但是有一些问题。 The page htxt links to 可以,但请注意以下几点:

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

    2) 如果您使用互联网风格的颜色名称,例如 #23ff9a,请小心! IE 8 需要来自 Processing.js/canvas 的所有大写十六进制颜色数字。写#23FF9A!这是文档显示的内容,因此不应完全令人惊讶。错误是有时会发生的事情,这让人很想弄清楚。大多数情况下,带有很多 f 的较大数字(对于较浅的颜色)似乎受到影响。白色 #ffffff 可以,但 #ff00ff 不行。 Firefox 和 Safari 在这方面不区分大小写。 documentation 表示您可以使用看起来像 0xCC006699 的 alpha 通道(CC)的替代十六进制表示法。这对我不起作用;也许它在待办事项清单上。

    3) 字符串上的 .equals() 方法丢失了! Andor Salga 是 Seneca College 的一名处理 Processing.js 的工作人员,他编写了一个简单的布尔型 stringsEqual(str1, str2) 函数,您可以看到 here。这将一直持续到问题得到彻底解决为止。

    4) stroke() 不适用于 excanvas.js 是不正确的。确实如此。但是,如果您的 Processing.js 代码甚至有一点语法错误(我无法真正分类哪些类型,但尝试使用 .equals() 会做到这一点)您的例程可能会在 IE8 中静默失败,而在 Safari 或Firefox,您的矩形可能会失去轮廓,即 stroke() 将停止工作。 Vista 上的 IE 和 Mac 上的 Safari 都表现出比 Vista 上的 Safari 或 Firefox 更强大的语法检查,这会导致某些错误并呈现有缺陷的图形。

    5) 使用 text() 函数调用的文本在 Firefox 中呈现(以 Firefox 选择的不可更改字体),但据我所知,不在 IE8 或 Safari 中。 字形方法建议here。代码已经到位,但获取字体似乎是个问题。 Inkscape 对我来说看起来非常难以理解。据我所知,所需要的很像旧的笔式绘图仪字体——在节点运行之间带有上笔和下笔命令的矢量路径。事实证明 FSF/GNU 有一些可以在没有太多麻烦的情况下被按摩成正确的格式。我不知道格式是在哪里定义的,但它可能在 W3C 的某个地方结束了。真正具有可展示字体潜力的方法是 Cufon 的 IE/VML 翼。见How does it work?我真的很想要这个链中的最后一个环节,但我需要一些帮助。

    Processing.js 是一个值得我们支持的项目。它具有巨大的潜力。如果可以的话,我会鼓励你参与进来。

    【讨论】:

      【解决方案2】:

      processing.js exhibition 页面上的sparklines example 使用 ExplorerCanvas。看起来它只是一个插入式解决方案,不需要额外的编码。

      【讨论】:

      • 谢谢,这很有帮助。看起来迷你图示例有自己的 onload 方法,而其他示例使用某种类型的 init.js,这在 IE + excanvas 中似乎不起作用
      【解决方案3】:

      This page 描述了如何让 processing.js + excanvas 一起工作。

      基本上就是自己写一个IE可以理解的onload init方法。

      【讨论】:

      • 不幸的是,即使它工作,VML IE 使用似乎不支持一些基本的东西。如果您要移植一个处理应用程序,不要期望从 IE 中获得超过 2D 线条图的内容 :(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 2019-04-08
      • 2020-04-06
      • 2010-09-14
      • 1970-01-01
      相关资源
      最近更新 更多