window.onbeforeunload и window.print в Internet Explorer

На одной из моих страниц показан код скидки, и если вы попытаетесь уйти, я использую window.onbeforeunload, чтобы предупредить пользователя о необходимости записать код, потому что в противном случае он будет потерян навсегда. На этой странице также есть кнопка печати, поэтому пользователь может распечатать ваучер.

Проблема в том, что в Internet Explorer, когда пользователь щелкает ссылку <a href="javascript:window.print();"> , возникает событие window.onbeforeunload. В Хроме этого не происходит.

Есть ли способ решить эту проблему?

Я видел, что если я попробую это:

<a href="javascript:alert('herp');window.print();">

Сообщение «herp» появляется после предупреждения, показанного window.onbeforeunload, поэтому я не знаю, как это исправить.


person vtortola    schedule 20.06.2011    source источник
comment
Я думаю, что у ie есть эта ошибка, которой вы можете воспользоваться. оповещение (\'герп\')   -  person Ibu    schedule 20.06.2011
comment
хм... Я сделал это, но безрезультатно, пишет, что на странице ошибка. Кроме того, я хотел бы установить флаг, чтобы код в onbeforeunload ничего не показывал.   -  person vtortola    schedule 20.06.2011


Ответы (1)


Просто используйте атрибут <a onclick="window.print();"> вместо атрибута href.

person duri    schedule 20.06.2011