Хорошо, прежде всего.Я не решил проблему.Я создал обходной путь, который фактически подделывает то, чего я хочу достичь.
Поскольку iPad / iPhone просто печатает родительскую страницу, я оборачиваю все тело в новый div, затем добавляю iFrame и некоторые таблицы стилей, которыеубедитесь, что напечатанный документ содержит только iFrame:
function printUrl( url ) {
$newBody = "<div class='do_not_print_this'>"
+ $( 'body' ).html()
+ "</div>"
+ "<iframe style='border: none; 0; width: 100%; margin: 0; padding: 0;' src='" + url + "' class='printFrame'></iframe>"
+ "<style type='text/css' media='all'>.printFrame { position: absolute; top: -9999999px; left: -99999999px; }</style>"
+ "<style type='text/css' media='print'>.do_not_print_this { display: none; } .printFrame { top: 0; left: 0; }</style>";
$( 'body' ).html( $newBody );
$( '.printFrame' ).load( function() {
var w = ( this.contentWindow || this.contentDocument.defaultView );
w.focus();
w.print();
} );
}
. Скрытие iframe для браузера в обычном представлении выполняется с использованием абсолютного позиционирования, с использованием отображения без отображения или скрытой видимой странности в окончательной печати..
Да, это ужасно.Тем не менее, на данный момент это единственный вариант, который я могу придумать, который работает.Если кто-нибудь из вас найдет лучшее решение, пожалуйста, дайте мне знать.