无法使用带有ie8的html2canvas

时间:2013-11-04 15:44:46

标签: javascript internet-explorer-8 html2canvas

我想在ie8中使用html2canvas。我搜索并发现flashcanvas使用html2canvas。但是,我在文件html2canvas.js中遇到了问题。每次调用函数loadPseudoElement:

function loadPseudoElement(element, type) {
    var style = window.getComputedStyle(element, type),
    content = style.content;
    if (content.substr(0, 3) === 'url') {
        methods.loadImage(_html2canvas.Util.parseBackgroundImage(content)[0].args[0]);
    }
    loadBackgroundImages(style.backgroundImage, element);
}

“var style = window.getComputedStyle(element,type)”行中出现错误。

显然,get8没有处理getComputedStyle。我试过这个:

var style = null;
if (window.getComputedStyle) {
    style = window.getComputedStyle(element, type);
}
else {
    style = element.currentStyle;
}
var content = style.content;

但它仍无效。

调用html2canvas和flashcanvas的我的JS代码是:

function test(){

    html2canvas($('#contentBody'), {
        onrendered: function (canvas) {
            if (typeof FlashCanvas != "undefined") {
                FlashCanvas.initElement(canvas);
            }
            var img = canvas.toDataURL("image/png");
            var newImg = window.open(img);
        }     
    });
    return false;
}

请问你能帮帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

html2canvas依赖于IE8或更低版本不支持的许多东西,你会发现它几乎不可能让它在IE8上工作。