Javascript 如何防止用户打印HTML页面的多个副本?

Javascript 如何防止用户打印HTML页面的多个副本?,javascript,html,Javascript,Html,通常,如果我们打印一页,它将打印整页,并且我们有打印份数的选项。问题是,对于我的erp应用程序,我不想在打印对话框中给出份数,不知何故,该选项应该通过程序(或)禁用 我的页面应该只打印一份,而不转到“打印”对话框本身 因此,打印选项应该可用,但我希望用户只能打印一份我的页面。如何实现这一点?您不能强制浏览器只允许打印页面的一份副本。这是不可能的 此外,在HTML/Javascript中不可能禁用打印对话框(以避免打印页面)。所以,你对此无能为力 但是,您可以为打印布局定义不同的CSS,因此您可以

通常,如果我们打印一页,它将打印整页,并且我们有打印份数的选项。问题是,对于我的erp应用程序,我不想在打印对话框中给出份数,不知何故,该选项应该通过程序(或)禁用 我的页面应该只打印一份,而不转到“打印”对话框本身


因此,打印选项应该可用,但我希望用户只能打印一份我的页面。如何实现这一点?

您不能强制浏览器只允许打印页面的一份副本。这是不可能的

此外,在HTML/Javascript中不可能禁用打印对话框(以避免打印页面)。所以,你对此无能为力

但是,您可以为打印布局定义不同的CSS,因此您可以“隐藏”所有元素,您的用户将无法打印您的页面(但这可能会很烦人):


您不能强制浏览器只允许打印页面的一个副本。这是不可能的

此外,在HTML/Javascript中不可能禁用打印对话框(以避免打印页面)。所以,你对此无能为力

但是,您可以为打印布局定义不同的CSS,因此您可以“隐藏”所有元素,您的用户将无法打印您的页面(但这可能会很烦人):


忘了它吧,除了构建自己的浏览器之外,你什么也做不了:D并强制用户只使用这个浏览器

忘了它吧,除了构建自己的浏览器,你什么也做不了:D并强制用户只使用该浏览器

如果从CD运行页面,可以使用
.bat
技巧从命令行静默打印。但是,在web浏览器中,不能绕过“打印”对话框。如果可能的话,广告商会把传单打印到你的打印机上


但是,您可以使用此选项并强制用户使用Internet Explorer。除非绝对必要,否则不建议这样做。

如果从CD运行页面,可以使用
.bat
技巧从命令行静默打印。但是,在web浏览器中,不能绕过“打印”对话框。如果可能的话,广告商会把传单打印到你的打印机上


但是,您可以使用此选项并强制用户使用Internet Explorer。除非绝对必要,否则不建议这样做。

您可以这样做,但仅限于内部网和IE(如我所知)


您不会为公共网站这样做,因为它要求在页面上操作ActiveX,而且您必须降低浏览器的安全级别(在我的情况下是IE),这仅适用于受控环境,并增加安全风险。

您可以这样做,但仅适用于intranet和IE(如我所知)


您不会为公共网站这样做,因为它要求在页面上操作ActiveX,而且您必须降低浏览器的安全级别(在我的情况下是IE),这仅适用于受控环境,并增加安全风险。

如果是这样,您能告诉我如何禁用打印对话框上显示的份数禁用份数也是不可能的。我添加了一个避免打印答案的替代方案(这将只打印一个空白页)。实际上,我的页面必须打印一份。我不想避免打印,我担心这是不可能的。即使是这样,用户仍然可以使用打印的一份副本,到复印机前,按照自己的意愿复制一次;-)@w4rumy,哈哈,非常正确我喜欢这个部分去复印机复制它如果这样,你能告诉我如何禁用打印对话框上显示的副本数禁用副本数也是不可能的。我添加了一个避免打印答案的替代方案(这将只打印一个空白页)。实际上,我的页面必须打印一份。我不想避免打印,我担心这是不可能的。即使是这样,用户仍然可以使用打印的一份副本,到复印机前,按照自己的意愿复制一次;-)@w4rumy,哈哈,非常真实,我喜欢这个角色,去复印机上复印,这很好。这是否可能做到只打印一份,而用户无法操作多份。(我认为每个问题都有一个正确的解决方案)。如果你愿意,每个问题都有解决方案。例如,构建自己的驱动程序、浏览器,并强制用户(客户端)使用它们,而不是标准的。K这很好。这是否可能做到只打印一份,而用户无法操作多份。(我认为每个问题都有一个正确的解决方案。)如果你愿意,每个问题都有解决方案,例如,构建自己的驱动程序、浏览器并强制用户(客户端)使用它们而不是标准的。2019年仍然没有办法做到这一点?2019年仍然没有办法做到这一点?
@media screen {
    body { /* css */}
}
@media print {
    body { display: none; }
}