почему я не могу установить window.onload в IE8? - PullRequest
0 голосов
/ 08 июля 2010

У меня есть следующая функция, которая отлично работает в Firefox, но ничего не делает в IE8

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

Я хочу открыть веб-страницу и немедленно открыть диалог печати.

Ответы [ 2 ]

3 голосов
/ 08 июля 2010

Если у вас есть рука на странице в url, сделайте звонок там. В HTML, в конце тега BODY. Добавьте тэг SCRIPT со своим звонком

<body>
  ...
  <script>
    window.print();
  </script>
</body>
1 голос
/ 08 июля 2010

В общем случае вы не можете обработать событие load объектов окна за пределами текущего окна, поскольку оно работает не во всех браузерах.Вам нужно обработать событие load, используя скрипт в документе, загруженном в новое окно.Ваш обработчик может либо вызвать window.print() сам, либо, если вам нужно сохранить функциональность в исходном окне, он может сделать вызов исходному окну, используя свойство window.opener, или установить флаг, который может выполнить скрипт в исходном окне.опрос.

...