JavaScript:IE 11和MS Edge覆盖CTRL + P.

时间:2016-08-17 08:10:36

标签: javascript internet-explorer microsoft-edge

我遇到了问题,找不到任何解决方案。 我在我的应用程序中使用javascript定义了自定义CTRL + P快捷方式,我希望IE 11和MS Edge不显示其打印窗口。 所以,在我的代码运行后,我写了这段代码:

                e.keyCode = 0;
                e.cancelBubble = true;
                e.returnValue = false;

                if (e.preventDefault)
                    e.preventDefault();

                if (e.stopPropagation)
                    e.stopPropagation();

                return false;

不幸的是它不起作用。打印窗口也显示。在chrome和firefox上一切正常。 还有一件事:当我在Edge上停止执行脚本(例如在行e.keyCode = 0;中)时,使用断点然后恢复打印窗口将不会显示。

我添加自定义快捷方式的方式是:

if (el.addEventListener) el.addEventListener('keydown', func, false);
else if(el.attachEvent) el.attachEvent('onkeydown', func);
...

func 变量包含自定义操作的代码和停止传播的代码(从消息开头)。 谢谢!

1 个答案:

答案 0 :(得分:2)

您无法可靠地阻止“打印”对话框。

建议:

不要(试图)破坏内置浏览器功能 这将始终导致用户体验减少。

此外,即使如果你设法禁用打印弹出窗口,还有什么阻止用户截取屏幕截图?