그냥 다음과 같은 함수를 만들고 innerHTML을 전달하십시오.
openPrintWindow: function (printHtmlStr) {
var me = this;
var dt = new Date().getTime();
var html = '<!DOCTYPE HTML>' +
'<html>' +
'<head>' +
'<meta http-equiv="x-ua-compatible" content="IE=Edge"/>' +
'<link rel="stylesheet" type="text/css" href="appRes/css/print.css?_dc=' + dt + '" media="all" />' +
'</head>' +
'<body>' +
'<div class="print">' + printHtmlStr + '</div>';
html += '</body>';
html += '</html>';
var iframe = this._printIframe;
if (!this._printIframe) {
iframe = this._printIframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.style.display = 'none';
iframe.onload = function() {
setTimeout(function() {
iframe.focus();
iframe.contentWindow.print();
}, 1);
};
}
iframe.src = "about:blank";
var doc = iframe.contentWindow.document;
var windowUrl = window.location; // iframe.contentWindow.location;
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
this.testwindow = doc.open(windowUrl, windowName);
doc.write(html);
doc.close();
}
당신이, 내가 그것을 오류의 종류를 보여 않습니다 의미 "그것은 작동하지 않습니다"무엇을 의미합니까? – Tejas
아무런 오류가 없습니다. Mac에서는 작동하지만 아이폰에서는 작동하지 않습니다. –
또한이 시도는 ** iframe src = "mydoc.pdf"width = "100 %"height = "800px"frameborder = "1"> ** 이 경우에도 ios에 경고를 표시합니다. –