首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >excanvas.js在使用动态加载脚本的IE上不起作用

excanvas.js在使用动态加载脚本的IE上不起作用
EN

Stack Overflow用户
提问于 2013-07-10 20:47:33
回答 2查看 1.5K关注 0票数 2

我使用像$.getScript("excanvas.js", function(data){});这样的jQuery $.getScript()方法将脚本动态加载到文档中

在create canvas上,我为canvas应用了以下语句,

代码语言:javascript
复制
var canvasDiv = document.createElement('canvas');
canvasDiv.setAttribute("width", canvasBounds.width+"px");
canvasDiv.setAttribute("height", canvasBounds.height+"px");
if(window.G_vmlCanvasManager){
    canvasDiv = G_vmlCanvasManager.initElement(canvasDiv);
}

我试着在画布上画一条线,它不起作用。

如果我在脚本标签中加载excanvas.js,它工作得很好。这就像

代码语言:javascript
复制
<head>
<script src="excanvas.js" type="text/javascript"></script>
</head>

我找不到原因。谁能给出一个解决方案?

EN

回答 2

Stack Overflow用户

发布于 2013-07-10 21:06:15

我已经用过它了,它对我很有效:

代码语言:javascript
复制
if ($.browser.msie) {
      G_vmlCanvasManager.initElement(canvasDiv);
}

在完成第一步之后,获取画布的上下文:

代码语言:javascript
复制
context = canvasDiv.getContext('2d');

现在使用context变量绘制这条线。

票数 2
EN

Stack Overflow用户

发布于 2013-08-30 05:01:43

如果你想异步/有条件地加载excanvas,这是可能的。

首先是as the instructions state,在 excanvas加载和初始化之后,canvas元素在之前不能存在于页面上,因此请考虑生成它们或在以后异步加载它们。

一旦加载了excanvas库(通过jQuery、requirejs等),调用以下代码:

代码语言:javascript
复制
G_vmlCanvasManager.init_(document);

这将调用管理器的内部init函数,该函数通常侦听文档就绪(通常已经触发)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17571035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档