我的web應用程序(java,jsp,js)中有一個按鈕,允許通過從屏幕的選定區域獲取HTML進行打印,並將其放置在iframe調用'iFramePrint'然後打印它。由於最近的Windows更新,我需要替換iFrame打印
<iframe name="iFramePrint" frameborder="0" src="Blank.jsp" marginheight="0" marginwidth="0" width="0" height="0"></iframe>
function doPrint() {
if (window.frames['iFramePrint'].document.body) {
var str = '<B>'+'<h1>' + document.getElementById('tdMainTitle').innerHTML +'</h1>'+'</B>';
str += '<BR>';
etc.
str=str.replace(/BORDER=0/g ,"border=1");
window.frames['iFramePrint'].document.body.innerHTML = str;
window.frames['iFramePrint'].focus();
window.frames['iFramePrint'].print();
}
}
這很有效,很長一段時間,但是由於最近的Windows更新,代碼不再有效。見下文。
我最好不想等待微軟解決這一問題 - 它可能是一段時間。我不想問客戶卸載KB4022715(知識庫編號根據Windows版本的不同而不同,但通常來說,這是7月份發佈的針對7月份的安全更新彙總),可以解決問題。
我有一個解決方案如何解決這個問題 - 取HTML並將其轉換爲PDF,然後允許用戶下載PDF,這絕對是可行的。請參閱Converting HTML files to PDF - 只是想知道是否有更好的方法。