日期:2014-05-16  浏览次数:20405 次

使用jquery打印插件jquery.PrintArea的问题
80的票据打印机, 有的时候打印正常,有的时候打印出来的不正常:
jquery.PrintArea.js代码:
HTML code
{0}{1} 
(function($) {
    var printAreaCount = 0;
    $.fn.printArea = function() {
        var ele = $(this);
        var idPrefix = "printArea_";
        removePrintArea(idPrefix + printAreaCount);
        printAreaCount++;
        var iframeId = idPrefix + printAreaCount;
        var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
        iframe = document.createElement('IFRAME');
        $(iframe).attr({
            style : iframeStyle,
            id : iframeId
        });
        document.body.appendChild(iframe);
        var doc = iframe.contentWindow.document;
        $(document).find("link").filter(function() {
            return $(this).attr("rel").toLowerCase() == "stylesheet";
        }).each(
                function() {
                    doc.write('<link type="text/css" rel="stylesheet" href="'
                            + $(this).attr("href") + '" >');
                });
        doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html()
                + '</div>');
        doc.close();
        var frameWindow = iframe.contentWindow;
        frameWindow.close();
        frameWindow.focus();
        frameWindow.print();
    }
    var removePrintArea = function(id) {
        $("iframe#" + id).remove();
    };
})(jQuery);



我调用的代码:
HTML code
{0}{1} 
$(document).ready(function(){
    $("#printarea").printArea();
});



为什么有的时候div printarea的内容能正常打印出来, 而有的时候却打印不出来.

------解决方案--------------------
首先检查下你打印不出来的div的格式,是否有格式问题
最好你是把需要打印的东西先输出检查下,一般都是格式问题造成