window.print()在IE7和IE8中冻结

时间:2014-06-03 22:03:21

标签: javascript html css internet-explorer internet-explorer-8

在某些页面上工作,主要使用经典的asp构建。我正在尝试在我的一些页面上使用window.print(),但由于某种原因它在我身上停滞不前。它弹出并询问使用什么打印机,选择并单击确定....它会停止并且必须结束IE任务。这是我的链接标记:

<a href="#" onclick="window.print(); return false;" >print window</a>

这适用于所有其他浏览器。我唯一能想到的是我的CSS中有一个@media print标签,我知道它并不完全支持。在页面上使用此标记会导致这种情况发生吗?

1 个答案:

答案 0 :(得分:0)

onclick="window.print();"就足够了 - 不需要return false。由于您未在任何地方进行关联,因此您应使用<button>而非锚点。您还应该使用事件侦听器而不是onclick

HTML:

<button type="button" id="print-page">Print</button>

JS:

var button = document.getElementById('print-page');

if (window.addEventListener) {
    button.addEventListener('click', window.print, false);
}
else {
    button.attachEvent('onclick', window.print);
}

如果您无法根据自己的喜好设置<button><input type="button">元素(较旧的浏览器可能很挑剔),您可以使用<span>但请务必添加role="button"以便辅助技术和其他机器(搜索引擎等)知道该元素应该被视为按钮。