Javascript 在IE中使用JS或jQuery打印图像
我有一个图像,它是一个转换为图像画布的图像(我使用插件来实现这一点): 然后点击一个按钮,我想打印那个图像。我正在使用插件来实现这一点:Javascript 在IE中使用JS或jQuery打印图像,javascript,jquery,image,internet-explorer,printing,Javascript,Jquery,Image,Internet Explorer,Printing,我有一个图像,它是一个转换为图像画布的图像(我使用插件来实现这一点): 然后点击一个按钮,我想打印那个图像。我正在使用插件来实现这一点: function draw_voucher_img() { var canvas = $("#canvas_voucher")[0]; var voucher = canvas.toDataURL(); $("#voucher_img").attr("src", voucher); } $("#div_print_voucher").
function draw_voucher_img()
{
var canvas = $("#canvas_voucher")[0];
var voucher = canvas.toDataURL();
$("#voucher_img").attr("src", voucher);
}
$("#div_print_voucher").click(function() {
print_voucher();
});
function print_voucher()
{
$("#voucher_img").printElement();
}
它适用于除…以外的所有浏览器。。。Internet Explorer。在资源管理器中,它不打印图像,而是打印页面的其余部分。有没有其他方法可以让它在IE中工作
**更新**
是否有其他方法可以使用JS或jQuery打印元素?如果有,那么也许可以通过某种方式检查用户的浏览器是否为IE:如果是:使用一种打印方法,如果不是-上述功能
*没关系,问题解决了*也许这不是最优雅的解决方案,但它对我来说很有效。我找到了一个用于打印HTML5画布的工具-它将画布转换为图像,创建一个只有
的弹出窗口;
windowContent+='';
windowContent+='';
var printWin=window.open('','',宽度=788,高度=499');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}否则{
$(“#凭证_img”).printElement();
}
}
虽然我很高兴你解决了问题,但如果你能在这里分享解决方案,那就太好了。这样,如果有人碰到同样的问题,你的答案将是有用的。您可以在下面发布您的答案。@Ibu刚刚发布了:)@BrianDHall您是对的,刚刚发布了答案。:)
function print_voucher()
{
var ua = navigator.userAgent;
if(ua.search(/MSIE/) > 0)
{
var dataUrl = document.getElementById('canvas_voucher').toDataURL();
var windowContent = '<!DOCTYPE html>';
windowContent += '<html>'
windowContent += '<head><title>Print voucher</title></head>';
windowContent += '<body>'
windowContent += '<img src="' + dataUrl + '">';
windowContent += '</body>';
windowContent += '</html>';
var printWin = window.open('','','width=788,height=499');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
} else {
$("#voucher_img").printElement();
}
}