Chrome:window.print() 打印对话框仅在页面重新加载后打开 (javascript)

2024-05-13

我面临着一个非常奇怪的问题。我正在从 javascript 文件调用 window.print() 。这在 Safari、IE、Firefox 中运行良好……直到两小时前,它在 Chrome 中也运行良好。 (版本29.0.1547.57)

我没有更改我的 javascript 文件中的任何重要内容(实际上 - 我只是删除了一些注释...),但现在发生的情况非常奇怪:在 Chrome 中,调用 window.print() 时不会打开打印对话框。什么都没发生。但是,当我按下重新加载时,打印对话框立即打开。

其他浏览器中的行为没有改变。在 Chrome 中调试时,我可以看到 window.print() 按预期被调用,并且脚本在此之后继续运行。只有按下重新加载后才会显示打印对话框。

有人经历过类似的事情吗?我还尝试在 setTimeout() 中调用 window.print() ,但这并没有改变任何东西。当我调试要打印的页面内容时,它似乎已完美加载。

很抱歉问,但我在研究时没有发现任何东西。任何帮助,将不胜感激!

谢谢你!


Wasiim 是对的,Chrome 有一个 bugwindow.print()当有一个时不起作用<video>DOM 中的标签。我通过调用这个函数解决了这个问题:

function printPage() {
    window.print();

    //workaround for Chrome bug - https://code.google.com/p/chromium/issues/detail?id=141633
    if (window.stop) {
        location.reload(); //triggering unload (e.g. reloading the page) makes the print dialog appear
        window.stop(); //immediately stop reloading
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome:window.print() 打印对话框仅在页面重新加载后打开 (javascript) 的相关文章

随机推荐

  • 覆盖Java中的属性[重复]

    这个问题在这里已经有答案了 在 Java 中 我最近有几个项目 我使用了这样的设计模式 public abstract class A public abstract int getProperty public class B exten
  • ApiController 操作无法从查询字符串解析数组

    使用 Visual Studio 2012 2 MVC4 Web 应用程序 我有请求发送到我的 ApiController 如下所示 http localhost api keys ids 1 ids 2 ids 3 我的印象是以下方法应该
  • 如何在 Xcode 4.2 中创建 Shell 脚本目标?

    我想知道是否有人知道 XCode 4 1 如何创建 shell 脚本 该选项不存在 但在最新版本中可能会被称为其他名称 塔 在导航器中选择您的项目 单击 添加目标 为空目标选择 聚合 添加构建阶段 gt 添加运行脚本 单击构建阶段并编辑运行
  • App.Config 和 Web.Config 之间的区别?

    当在 wpf 中构建桌面应用程序时 您可以阅读问题文档并在人们的答案引用 web config 时安全地替换 app config 吗 如果是这样 您是否需要注意任何明显的陷阱 tnx 阅读文档 http msdn microsoft co
  • 使用 FFT 执行音频分析

    我已经被这个问题困扰好几天了 并且浏览了几乎所有相关的 StackOverflow 页面 通过这次活动 我现在对 FFT 是什么及其工作原理有了更深入的了解 尽管如此 我在将其实现到我的应用程序中时遇到了极大的困难 简而言之 我想做的是为我
  • 为什么我必须在每次 R 升级时手动创建目录“~/R/%p-library/%v”?

    每次R升级后 我必须重新安装我使用的软件包 来自源代码 因此必须为新版本重新编译它们 这是一个正确的 可以理解的行为 所以我调用install packages http stat ethz ch R manual R devel libr
  • PHP 对象创建和内存使用

    一个基本的虚拟类 class foo var bar 0 function foo function boo echo memory get usage echo n foo new foo echo memory get usage ec
  • 字符串化 JavaScript 对象

    我正在寻找字符串化一个对象 我想要这样的输出 1 valeur dalebrun usager experttasp date 2013 08 20 16 41 50 2 valeur test usager experttasp date
  • Tornado:DummyFuture 不支持结果阻塞

    我试图获得一个非常简单的初始服务器 它可以 异步 获取 url 来工作 但它会抛出 Exception DummyFuture does not support blocking for results 有这个SO https stacko
  • 无法使用 ASP.NET Core 从 JWT 令牌获取声明

    我正在尝试使用 ASP NET Core 实现 JWT 持有者身份验证的非常简单的实现 我从控制器返回的响应有点像这样 var identity new ClaimsIdentity identity AddClaim new Claim
  • 如何从模型调用辅助方法?

    我使用 MongoDB 作为我的 Rails 应用程序中的数据库和 MongoID gem 我想从模型中调用辅助方法after create回调方法 这怎么可能 我的模型代码是 class Department include Applic
  • 使用 iOS swift AVPlayer 在横向模式下不全屏

    我将视频视图设置为全屏 然而 在模拟器中玩时 它并没有全屏运行 此问题仅适用于 iPad 不适用于 iPhone 这是我的代码 override func viewDidAppear animated Bool super viewDidA
  • iOS 视频压缩 Swift iOS 8 损坏的视频文件

    我正在尝试压缩用户相机从 UIImagePickerController 拍摄的视频 不是现有视频 而是动态视频 以上传到我的服务器 并花费少量时间来完成此操作 因此较小的尺寸是理想的选择 而不是 30 较新质量的相机为 45 mb 这是在
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • Laravel:如何设置多对多关系的连接?

    我有模型 class User extends Model protected connection mysql public function areas return this gt belongsToMany Area class u
  • JQuery 验证不起作用

    我有一种表单 其中一个输入类型的值为 名字 但这可以在 onfocus 函数上更改我想验证此输入字段 如果它为空白或 名字 我有两个 jQuery 文件jquery 1 4 2 min js jquery validate pack js
  • 如何在 Web 应用程序中使用 Javascript 安全地访问 Windows Azure 移动服务?

    我需要一本 web javascript 安全入门书 根据如何使用 Windows Azure 移动服务的 HTML JavaScript 客户端 http www windowsazure com en us develop mobile
  • jqPlot DateAxis tickInterval 不起作用

    我试图每月绘制一个包含单个数据点的图表 我会在每个月的第一天将其作为一个点发送到 jqPlot jqplot actualChart 2011 10 01 0 296 2011 11 01 0 682 title programSelect
  • Nuxt + Vuex - 如何将 Vuex 模块分解为单独的文件?

    在 Nuxt 文档中 here https nuxtjs org guide vuex store module files 它说 您可以选择将模块文件分解为单独的文件 state js actions js mutations js an
  • Chrome:window.print() 打印对话框仅在页面重新加载后打开 (javascript)

    我面临着一个非常奇怪的问题 我正在从 javascript 文件调用 window print 这在 Safari IE Firefox 中运行良好 直到两小时前 它在 Chrome 中也运行良好 版本29 0 1547 57 我没有更改我