Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IE中使用JS或jQuery打印图像_Javascript_Jquery_Image_Internet Explorer_Printing - Fatal编程技术网

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();
}

}