2012-12-22 70 views
2

我有以下代码,它在Firefox上正常工作,但由于某种原因,图像没有在Chrome上呈现,有什么想法?Html2Canvas无法在Google Chrome上工作

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Test Html2Canvas</title> 
<script type="text/javascript" src="jquery-1.6.3.js"></script> 
<script type="text/javascript" src="html2canvas.js"></script> 
<script type="text/javascript" src="jquery.plugin.html2canvas.js"></script> 
</head> 
<body> 
testing 
<img src="someImage.jpg"/> 
<script type="text/javascript"> 
window.onload = function() { 
    html2canvas([ document.body ], { 
     onrendered: function(canvas) { 
       document.body.appendChild(canvas); 
      } 
    }); 
}; 
</script> 
</body> 
</html> 

回答

3

的图像可能没有加载之前的html2canvas尝试绘制。试图画出一个没有默默加载的图像什么都不做,所以你什么也得不到。

尝试在window.onload处理程序中打包呼叫html2canvas。不是jQuery的ready,因为你需要代码才能在所有图像等完全加载时运行。

+0

好的想法,但它仍然无效,我在Chrome的控制台上看到这个错误:“无法从画布获取图像数据,因为画布已被交叉源数据污染。” – theMarceloR

+0

啊。这意味着你编写了你的​​代码。图像必须来自相同的来源(主机,端口,方案),否则会“污染”画布。 –

1

如果你没有任何web服务器运行这个html文件,它将不会工作。如果你在PC上玩耍,然后安装XAMPP或任何其他Web服务器(最简单的选项http://www.apachefriends.org/en/xampp.html),并将图像,JavaScript和HTML代码放入C:\ xampp \ htdocs(如果C dirive是您的安装驱动器)并使用服务器。 我已经在Chrome和它的工作中测试过它。

+0

为什么地球上不能工作?它只是一个html文件,不需要Web服务器。 –

相关问题