为什么我不能在IE8中设置window.onload?

时间:2010-07-08 09:42:09

标签: javascript internet-explorer onload

我有以下功能,在firefox中运行正常,但在IE8中无效。

function print(url) {
    var w = window.open(url);
    w.onload = function() {
        w.print();
    };
}

我想打开一个网页并立即打开打印对话框。

2 个答案:

答案 0 :(得分:3)

如果您将手放在url的页面上,请将呼叫置于此处。 在HTML中,在BODY标记的末尾。 通过电话

添加SCRIPT标签
<body>
  ...
  <script>
    window.print();
  </script>
</body>

答案 1 :(得分:1)

通常,您无法处理当前窗口之外的窗口对象的load事件,因为它不适用于所有浏览器。您需要使用加载到新窗口的文档中的脚本来处理load事件。您的处理程序可以调用window.print()本身,或者,如果您需要在原始窗口中保留该功能,它可以使用window.opener属性调用原始窗口或设置该脚本的标记原始窗口可以轮询。