Jquery NS_错误\u不可用:组件返回故障代码:0x80040111(NS_错误\u不可用)[nsIDOMCanvasRenderingContext2D.drawImage]

Jquery NS_错误\u不可用:组件返回故障代码:0x80040111(NS_错误\u不可用)[nsIDOMCanvasRenderingContext2D.drawImage],jquery,image,html,canvas,Jquery,Image,Html,Canvas,我使用以下代码将div内容保存为imgae: function saveDiv() { var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var mydiv = $(".mydivclass").html(); var data = "data:image/svg+xml," + "<svg xmlns='http://www.w

我使用以下代码将div内容保存为imgae:

function saveDiv() {
    var canvas = document.getElementById("canvas");

    var ctx = canvas.getContext("2d");
    var mydiv = $(".mydivclass").html();

    var data = "data:image/svg+xml," +

    "<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>" +

    "<foreignObject width='100%' height='100%'>" +

    mydiv +

    "</foreignObject>" +

    "</svg>";

    var img = new Image();

    img.src = data;

    img.onload = function () {
        ctx.drawImage(img, 0, 0);
    }
}

我做错了什么?

关于
Iceweasel 17.0.10
我也有类似的问题。 这是我使用的代码。我的代码与此几乎相同:

编辑: 固定的! 问题是,在您尝试使用图像之前,图像尚未加载。 试试这个:

var img = new Image();
img.onload = function () {
    this._canvas.drawImage(img, 300, 300);// this is line 14
};
img.src = "images/logo.jpg";

积分归伊恩:

@MichaelB。在firefox 17上工作…您可以发布到JSFIDLE吗?
<style>
#canvasbg {
    background:url('image.jpg')
}
</style>
</head><body>
<div id="canvasbg"><br></div>
<canvas></canvas>
<script>
    var canvas = document.getElementById("canvas");
    var ctx=canvas.getContext("2d");
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    var img = document.getElementById('canvasbg');
    ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
</script>
NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage] @ file:///home/tijs/Development/html/js/canvas.js:35
var img = new Image();
img.onload = function () {
    this._canvas.drawImage(img, 300, 300);// this is line 14
};
img.src = "images/logo.jpg";