我有一段JavaScript代码可以打印位于特定div(#printthis
)内的内容。它在PC上运行良好;但是,当我尝试在ipad上使用它时,页面是空白的,除了包含页面名称,日期,时间和页数的“页脚”。页脚通过打印驱动程序/ iPad进行设置。
有什么方法可以修改此代码以在PC和ipad上运行?我还没有在任何其他设备上测试过。这些只是我经常使用的设备。
<script type="text/javascript">
function printdata(title) {
var thistitle = title;
var contents = $("#printthis").html();
var frame1 = $('<iframe />');
frame1[0].name = "frame1";
frame1.css({ "position": "absolute", "top": "-1000000px" });
$("body").append(frame1);
var frameDoc = frame1[0].contentWindow ? frame1[0].contentWindow : frame1[0].contentDocument.document ? frame1[0].contentDocument.document : frame1[0].contentDocument;
frameDoc.document.open();
//Create a new HTML document.
frameDoc.document.write('<html><head><title><?php if(isset($title)) { echo strtoupper($title) .' '; } ?>LIST PRICE</title>');
frameDoc.document.write('</head><body>');
//Append the external CSS file.
frameDoc.document.write('<link href="style.css" rel="stylesheet" type="text/css" />');
//Append the DIV contents.
frameDoc.document.write(contents);
frameDoc.document.write('</body></html>');
frameDoc.document.close();
setTimeout(function () {
window.frames["frame1"].focus();
window.frames["frame1"].print();
frame1.remove();
}, 500);
}
</script>
我通过<a onclick="printdata()" href="javascript:void(0)">Print</a>