我想将 html2canvas 与 ie8 一起使用。我已经搜索并发现使用 html2canvas 的 flashcanvas。但是,我在文件 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)”行中出现错误。
显然,getComputedStyle 不是由 ie8 处理的。我试过这个:
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;
}
请问你能帮帮我吗?
谢谢你。