我正在寻找通过processing.js或类似网站在Internet Explorer中工作的ExplorerCanvas的示例。
答案 0 :(得分:7)
可以做到!但是有一些问题。 The page htxt links to就此而言很好,但请注意以下几点:
1)script和canvas元素都必须具有id属性。 init函数使用这些属性id将给定脚本与给定画布相关联。我发现简化的init函数比官方函数更容易理解。如果您在一个页面上有多个画布,您将需要掌握正式的。
2)如果你使用互联网风格的颜色指定,比如#23ff9a,请注意! IE 8需要来自Processing.js / canvas的所有大写十六进制颜色数。写#23FF9A!这是文档显示的内容,因此它不应该是一个完全的惊喜。错误是有时候的事情,这让人发现它很疯狂。大多数情况下,有大量f的较大数字(较浅的颜色)似乎受到了影响。白色,#fffff,没关系,但#ff00ff不行。 Firefox和Safari在这方面不区分大小写。 documentation表示您可以使用带有alpha通道(CC)的替代十六进制表示法,看起来像0xCC006699。这对我不起作用;也许它在待办事项清单上。
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是一个值得我们支持的项目的鲸鱼。它具有巨大的潜力。如果你能的话,我会鼓励你参加。
答案 1 :(得分:5)
sparklines example页面上的processing.js exhibition使用ExplorerCanvas。看起来它只是一个简单的解决方案,不需要额外的编码。
答案 2 :(得分:1)
This page描述了如何使processing.js + excanvas一起工作。
它基本上涉及编写IE可以理解的自己的onload init方法。