Javascript 打印媒体查询不适用于iOS(chrome、safari、mozilla)

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');

我试图弄明白为什么媒体打印在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');
    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整个页面甚至不必设置
打印
类-这就是
@媒体打印