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

时间:2014-11-23 12:31:24

标签: 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","_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中,正在显示打印弹出窗口以加载页面。 因此我没有打印正确的页面。

任何人都可以帮我这个。

1 个答案:

答案 0 :(得分:1)

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

您可以使用代理使用iframe,如下所示 How do print specific content inside the iframe 和 这里 How do print specific content inside the iframe