Excanvas 用于动态创建的画布元素
Excanvas“for Enternet Explorer”对于预定义的画布元素运行良好。但是,当涉及到在脚本期间动态创建画布元素时,它将不起作用......
有什么想法吗?
Excanvas "for enternet Explorer" is working fine for predefined canvas elements. But when it comes to creating canvas elements dynamically during the script, it will not work...
Any ideas??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
来自文档:
From the documentation:
我在调用 initElement 之前将其附加到文档中,它适用于 ie8、chrome 和 ff。我花了一段时间才弄清楚。
I append it to the document before calling initElement and it works for ie8, chrome, and ff. Took me a while to figure it out.
我想我已经找到了解决这个问题的窍门。 IE 不知道什么是“画布”,因此当您使用 JavaScript 创建画布元素时,它不起作用。
我见过的其他例子都是这样做来创建画布的:
所以诀窍是通过创建合法的东西并在其上调用画布初始化来欺骗 IE。
我使用 jquery 对这个 html 块执行 ajax GET,然后将其插入到 DOM 中:
在 ajax 调用完成并插入 HTML 后的 javascript 中,我进行画布初始化。这只是我的 init 函数中有趣的片段。
现在这对我来说在 Firefox 和 IE7 中都有效。
I think I've found the trick to this. IE doesn't know what a "canvas" is, so when you create a canvas element with your javascript, it doesn't work.
Other examples I've seen do this to create their canvas:
So the trick is to just fool IE by creating something legal and calling the canvas initialization on it instead.
I used jquery to do an ajax GET for this block of html which I then inserted into the DOM:
In the javascript after the ajax call has completed and the HTML is inserted, I do my canvas initialization. This is just the interesting snippet from my init function.
This is now working for me in both Firefox and IE7.