Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript excanvas.js无法使用动态加载脚本处理IE_Javascript_Jquery_Html_Internet Explorer_Excanvas - Fatal编程技术网

Javascript excanvas.js无法使用动态加载脚本处理IE

Javascript excanvas.js无法使用动态加载脚本处理IE,javascript,jquery,html,internet-explorer,excanvas,Javascript,Jquery,Html,Internet Explorer,Excanvas,我使用jQuery$.getScript()方法动态地将脚本加载到文档中,比如,$.getScript(“excanvas.js”,function(data){}) 在createcanvas上,我为canvas应用了以下语句: var canvasDiv = document.createElement('canvas'); canvasDiv.setAttribute("width", canvasBounds.width+"px"); canvasDiv.setAttribute("he

我使用jQuery
$.getScript()
方法动态地将脚本加载到文档中,比如,
$.getScript(“excanvas.js”,function(data){})

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

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,它就可以正常工作。那就像

<head>
<script src="excanvas.js" type="text/javascript"></script>
</head>


我找不到原因。有人能提出解决方案吗?

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

if ($.browser.msie) {
      G_vmlCanvasManager.initElement(canvasDiv);
}
完成顶部步骤后,获取画布的上下文:

context = canvasDiv.getContext('2d');

现在使用
上下文
变量画一条线。

如果希望异步/有条件地加载excanvas,这是可能的

第一,画布元素(S)不能存在于页面上直到>“强”> EXANVAS已经加载和初始化,所以考虑生成它们,或者异步加载它们。

加载excanvas库后(通过jQuery、requirejs等),调用以下命令:

G_vmlCanvasManager.init_(document);

这将调用管理器的内部init函数,该函数通常侦听document ready(通常已启动)。

感谢您的重播。在head部分的script标记中包含excanvas.js对我来说效果很好。但在运行时附加excanvas.js时不工作。