我在 SO 中使用先前的问题来帮助我使用这个“open-in-new-window”javascript 函数:
所以我的目标是在新窗口中打开一个内联 div,然后能够打印新窗口(我想在新窗口中打开的 div 是一张优惠券)。
我已经完成了 div 的样式(看起来像优惠券)并设置了 javascript,以便 div 确实在新窗口中打开,但是
1) ...我无法让样式表链接到新窗口,
2) ...而且,我无法打印新窗口(相反,当我单击打印新窗口时没有任何反应 - 但是当我关闭新窗口时,会出现打印对话框。
这是我到目前为止使用的代码,非常感谢任何帮助:
$('#printCoupon').bind('click', function () {
var printContents = new $("#coupon").clone();
var myWindow = window.open("", "popup", "width=600,height=380,scrollbars=yes,resizable=yes," +
"toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0");
var doc = myWindow.document;
doc.open();
$(printContents).find("#printCoupon").remove();
doc.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
doc.write("<html>");
doc.write("<head>");
doc.write("<link href='http://[link-to-css]/css/coupon.css' rel='stylesheet' type='text/css' />"); // your css file comes here.
doc.write("</head>");
doc.write("<body>");
doc.write($(printContents).html());
doc.write("</body>");
doc.write("</html>");
});
和我的html:
<div id="couponWrap">
<div id="coupon">
<h3>Coupon Title</h3>
<p>Present this coupon and receive $10 off labor on your first service visit and 2% loyalty points on you next visit.</p>
</div>
<a href="javascript:;" id="printCoupon">Click to print this coupon.</a>
</div>
谢谢你,辛迪