【问题标题】:window.print() is not working in chrome 77 versionwindow.print() 在 chrome 77 版本中不起作用
【发布时间】:2023-03-13 09:17:01
【问题描述】:

自从我的 chrome 浏览器更新到版本 77 后,我面临一个问题。

最初window.print() 工作正常,但是一旦我使用<embed> 标签打开一个包含嵌入式PDF 的页面,window.print() 就停止工作。使用 Ctrl+P 快捷方式会打开打印弹出窗口,但是当我在 javascript 中执行 window.print() 时它不起作用。

我在控制台执行了window.print()命令,直接返回undefined

Chrome 77 版本可能会根据此线程 https://support.google.com/chrome/thread/14107571?hl=en 进行一些更改

有人遇到过这个问题吗? 请帮忙。

【问题讨论】:

  • 我也面临 chrome 77 版本的打印问题。使用下面的代码打印功能pdfStamper.addJavaScript("this.print({bUI: true,bSilent:false,bShrinkToFit: true});");

标签: google-chrome


【解决方案1】:

这似乎与 Chrome 设置问题有关,因为关闭 chrome://flags/#mime-handler-view-in-cross-process-frame 可修复该问题。

对于不知道如何关闭它的人,请这样做:

  • 在 chrome 上打开新标签,然后输入 chrome://flags/
  • 您将打开实验页面。
  • 然后在该页面的搜索栏上输入:Mime
  • 这会告诉你:跨进程框架中的MimeHandlerView
  • 将该值从:Default 更改为:Disabled,然后它会要求您重新启动 chrome。

chrome重启后,打印功能正常。

【讨论】:

    【解决方案2】:

    我面临一些类似的问题 - 一旦 pdf 文件被 chrome pdf 查看器渲染,window.print() 开始返回 undefined

    更详细的描述 - 一个 pdf 文件被渲染到选项卡中,用户回击然后 print() 停止工作。重要的是所有内容都在同一个选项卡中执行。

    【讨论】:

    • 这对提出问题的用户没有帮助。这应该是一条评论。
    • 他在问是否有人面临同样的问题 - 我正在描述我的方式。
    • @ChoiLiu,你找到解决办法了吗?
    • 不幸的是,没有。我的情况略有不同,因为它不是自动打印预览 - 因为用户需要单击一个按钮,该按钮调用 window.print 方法。值得一提的是,这个问题是在77版本中引入的,之前的还可以。
    • @AnkitPrajapati,请检查这是否为您解决了问题:禁用 chrome://flags/#mime-handler-view-in-cross-process-frame。不过,这并不是什么大问题。
    【解决方案3】:
    $(document).ready(function () {
    
        var URL;
    
        $('#Print').click(function () {
            $('#embed').remove();
            URL= 'url';
    
            setTimeout(cPrint, 100);
        });
        function cPrint() {
            window.print();
    
            $('#div').append('<embed id="embed" src="' + URL + '" />');
        }
    
    });
    

    【讨论】:

    • 很高兴您能解释一下您提出的答案,以便每个人都能轻松获得。
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多