javascript print()方法未按预期工作

javascript print()方法未按预期工作,javascript,jquery,html,dom,w3c,Javascript,Jquery,Html,Dom,W3c,我有一个简单的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","_se

我有一个简单的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>

函数printPage()
{
var w=窗口打开(“http://www.sigmaaldrich.com/catalog/CofADocRequest.do?symbol=209104&LotNo=MKBP0842V&brandTest=SIGMA","你自己",;
window.focus();
window.print();
}
代码所做的是,它显示一个按钮,单击该按钮它调用一个函数。函数使用open()通过使用“\u self”参数在同一页面中打开新URL

正如我们在代码中看到的,print()是在调用open方法之后被调用的。但在我的浏览器IE11中,打印弹出窗口在加载页面之前显示。 因此,我没有打印正确的页面


有人能帮我吗。

问题是
窗口
指的是当前窗口,即原始窗口。 通过在self中打开一个新窗口来替换页面,这基本上是一个重定向。 如果您通过弹出窗口打开它并将其打印为
w.print()
,则会遇到跨源安全错误

您可以将iframe与代理一起使用,如下所示 及 在这里

签出此问题[print iframe][1][1]: