我有一个简单的HTML代码来打印页面。以下是代码:
<!DOCTYPE html>
<html>
<head>
<script>
function printPage()
{
var w = window.open("http://www.sigmaaldrich.com/catalog/CofADocRequest.do?symbol=209104&LotNo=MKBP0842V&brandTest=SIGMA","_self");
window.focus();
window.print();
}
</script>
</head>
<body >
<input type="button" onclick="printPage()" value="print a div!" />
</body>
</html>
代码的作用是,在点击该按钮调用函数时显示一个按钮。该函数使用open()通过“_self”参数在同一页面中打开一个新URL。
正如我们在代码中看到的那样,在调用open方法之后调用了print()。但是在我的浏览器IE11中,正在显示打印弹出窗口以加载页面。 因此我没有打印正确的页面。
任何人都可以帮我这个。
答案 0 :(得分:1)
问题是window
是指当前窗口,它是原始窗口。
通过在self中打开一个新窗口来替换页面,这基本上是一个重定向。
如果您通过弹出窗口打开它并将其打印为w.print()
,而不是遇到跨源安全性错误。
您可以使用代理使用iframe,如下所示 How do print specific content inside the iframe 和 这里 How do print specific content inside the iframe