Javascript 打印时无法将css文件添加到html

Javascript 打印时无法将css文件添加到html,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图在打印的同时将css文件添加到HTML内容中。但是没有添加css文件。我得到的输出没有CSS。谁能帮帮我 这是我的密码 函数PrintElem(elem) { 弹出($(elem.html()); } 功能弹出窗口(数据) { var mywindow=window.open(“”,'mydiv','height=700,width=1200'); mywindow.document.write(“”); mywindow.document.write(“”); mywindow.do

我试图在打印的同时将css文件添加到HTML内容中。但是没有添加css文件。我得到的输出没有CSS。谁能帮帮我

这是我的密码


函数PrintElem(elem)
{
弹出($(elem.html());
}
功能弹出窗口(数据)
{
var mywindow=window.open(“”,'mydiv','height=700,width=1200');
mywindow.document.write(“”);
mywindow.document.write(“”);
mywindow.document.write(“”);
mywindow.document.write(数据);
mywindow.document.write(“”);
mywindow.document.close();//对于IE>=10是必需的
mywindow.focus();//IE>=10所必需的
mywindow.print();
mywindow.close();
返回true;
}
这将被打印出来。Lorem ipsum dolor sit amet,是一位杰出的献身者。佩伦特在尼布阿迪皮斯和伊特杜姆打了一场比赛。无需支付任何费用。
这将不会被打印。
这也不会。

找出了问题所在:

  • 您正在将元素“mydiv”传递给函数PrintElem
  • PrintElem函数仅获取内部html而不是完整的div
  • 您正在将其发送到另一个函数弹出窗口(仅mydiv的innerhtml)
  • 弹出窗口正在打开带有一些html、css和js的新页面
  • 在数据变量中,您只获取文本,而不获取DIV“mydiv”,这实际上是需要的,而不仅仅是内部html
  • 因此,当您的页面加载时,它不会找到您正在应用css的mydiv
  • 解决方案请将整个div而不是div.html()传递到弹出函数中

    尝试类似的方法或尝试其他方法

     function PrintElem(elem)
     {
        Popup($(elem)); // send div not html only
     }
    

    检查此路径是否正确href=“print.css”它表示您的css文件位于将其添加到htmlPath中的文件目录中是正确的。html和css文件都在同一个文件夹下,我似乎根本无法打开窗口。我得到一个
    无效访问错误:底层对象不支持参数或操作
    。可能是个大问题。。。你能发布一个链接到一个工作版本吗?所以阻止
    窗口。打开
    呼叫。请查看下面的我的答案,如果有效,请告诉我,或者在skype上将你的代码发送到m.irfan.anwar,谢谢。我可能弄错了,但最好也将CSS内联。加载print.css将异步进行。它可能不会在
    窗口执行时加载。print()
    执行,因为它在
    文档下面只有几行js。write
    。看起来这是一个非常小的文件,所以不太可能,但我相信它会发生。嗨,非常感谢你的建议。它正在工作…:)完美的解决方案:)谢谢