我在MDN上从此页面中提取了此代码。它非常有效,除了IE10(以及其他可能的)。
此代码的目的是在iframe中打开除当前页面之外的URL并打印它。在IE10中,它只打印当前页面。
function closePrint () {
document.body.removeChild(this.__container__);
}
function setPrint () {
this.contentWindow.__container__ = this;
this.contentWindow.onbeforeunload = closePrint;
this.contentWindow.onafterprint = closePrint;
this.contentWindow.focus(); // Required for IE
this.contentWindow.print();
}
function printPage (sURL) {
var oHiddFrame = document.createElement("iframe");
oHiddFrame.onload = setPrint;
oHiddFrame.style.visibility = "hidden";
oHiddFrame.style.position = "fixed";
oHiddFrame.style.right = "0";
oHiddFrame.style.bottom = "0";
oHiddFrame.src = sURL;
document.body.appendChild(oHiddFrame);
}
由于没有Windows VM,我调试此功能的能力有限。这有什么看似明显不对的吗?