Javascript 打印媒体查询不适用于iOS(chrome、safari、mozilla)
我试图弄明白为什么媒体打印在iOS上不起作用,在android上功能正常。基本上,我做了一个功能来隐藏不属于打印内容的内容Javascript 打印媒体查询不适用于iOS(chrome、safari、mozilla),javascript,jquery,html,ios,Javascript,Jquery,Html,Ios,我试图弄明白为什么媒体打印在iOS上不起作用,在android上功能正常。基本上,我做了一个功能来隐藏不属于打印内容的内容 body.printing*{display:none} 并且只显示将要打印的内容 body.printing.print me,body.printing.print me>div{display:block} $('.print-modal').on('click', function() { $('body').addClass('printing');
body.printing*{display:none}
并且只显示将要打印的内容
body.printing.print me,body.printing.print me>div{display:block}
$('.print-modal').on('click', function() {
$('body').addClass('printing');
window.print();
$("body").removeClass("printing");
})
@媒体打印{
/*打印时隐藏身体中的所有内容*/
body.printing*{显示:无;}
/*…除了我们的特别部门*/
body.printing.print me,body.printing.print me>div{display:block;}
}
@媒体屏幕{
/*隐藏屏幕上的特殊图层*/
.print me{显示:无;}
}
问题可能在于,您正在添加一个类打印
,并立即删除同一个类。这可能就是原因
试着改变逻辑。您不需要为打印添加类。而是使用打印介质查询@media print
来处理打印逻辑
$('.print-modal').on('click', function() {
window.print();
})
@media print {
/* Hide everything in the body when printing... */
body * { display: none; }
/* ...except our special div. */
body .print-me, body .print-me > div { display: block; }
}
@media screen {
/* Hide the special layer from the screen. */
.print-me { display: none; }
}
在
iOS
中打印什么?@sabithpocker整个页面甚至不必设置打印
类-这就是@媒体打印