Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 打印和打印预览不';t完成CSS样式表_Javascript_Html_Css_Printing - Fatal编程技术网

Javascript 打印和打印预览不';t完成CSS样式表

Javascript 打印和打印预览不';t完成CSS样式表,javascript,html,css,printing,Javascript,Html,Css,Printing,我试图只打印我的网页的一部分,这是一个发票。 我使用下面的Javascript代码打开一个新窗口,只添加我需要的内容 IE:引导,网站样式表 function print_element(elem,event,$elementid){ event.preventDefault(); $(elem).hide(); var prtContent = document.getElementById($elementid); var WinPrint = window.

我试图只打印我的网页的一部分,这是一个发票。 我使用下面的Javascript代码打开一个新窗口,只添加我需要的内容

IE:引导,网站样式表

function print_element(elem,event,$elementid){
    event.preventDefault();
    $(elem).hide();
    var prtContent = document.getElementById($elementid);
    var WinPrint = window.open('', '', 'left=0,top=0,width='+window.screen.width+',height='+window.screen.height+',toolbar=0,scrollbars=0,status=0');

    WinPrint.document.write($("head").html());
    WinPrint.document.write(prtContent.innerHTML);

    $("script").each(function(index){
        var src = $(this).attr("src");
        WinPrint.document.write("<script src='"+src+"'></script>");
    })

    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.document.ready = function(){
        WinPrint.print();
        //WinPrint.close();
    }
    $(elem).show();
}
函数打印元素(元素,事件,$elementid){
event.preventDefault();
$(elem.hide();
var prtContent=document.getElementById($elementid);
var WinPrint=window.open(“”,’left=0,top=0,width='+window.screen.width+',height='+window.screen.height+',toolbar=0,scrollbars=0,status=0');
WinPrint.document.write($(“head”).html());
WinPrint.document.write(prtContent.innerHTML);
$(“脚本”)。每个(函数(索引){
var src=$(this.attr(“src”);
WinPrint.document.write(“”);
})
WinPrint.document.close();
WinPrint.focus();
WinPrint.document.ready=函数(){
print.print();
//WinPrint.close();
}
$(elem.show();
}
当窗口打开时,所有内容的样式都正确无误,但当打印对话框显示时,所有文本都是黑白的。它也可以黑白打印

我尝试添加一个彩色图像。这幅图像以全彩显示。然后我将CSS文件中的代码直接粘贴到窗口中,它仍然以黑白打印

我还尝试直接使用
style
属性和
标记设置元素的样式,但没有效果

这不是打印机问题。我查过了,这个网站在多台电脑和打印机上的功能完全相同


有什么问题吗?

您的HTML非常混乱(您是
文档。编写
所有内容,因此它将包含
标题的内容、您的内容,然后是脚本)-也许这就是问题所在?显示实际打印的HTML和CSS,不是通过抓取我们看不到的文档的部分来生成HTML的javascript。@eithedog-我知道它将包含
标题、元素和脚本中的内容,问题是打印的发票需要与前端完全相同。这就是我导入所有脚本和样式表的原因,这样它就可以在打印页面上复制相同的效果screen@DanielBeck我试着将网页中的代码粘贴到我的答案中,也粘贴到JS Fiddle和HTML Fiddle中,但它们都不起作用,原因是我的代码依赖于服务器上的文件(即:在线无法使用的字体)。如果有帮助,我可以将打印屏幕的HTML发布到小提琴中。@JacquesKoekemoer您可以这样做吗(发布到小提琴/pastebin)