点击"打印"在Chrome中导致Flash对象/ SWF崩溃

时间:2015-06-29 17:39:24

标签: google-chrome flash printing reload

我不知道这是一个JS冲突的问题,可能是一个隐藏的jQuery / CSS事件,一个看不见的WebKit href包含,或者只是Chrome版本43.0.2357.130中的一个错误(64-位)。

目的是打印Flash绘图游戏的内容 - 之前在所有浏览器和Chrome上都有效 - 但Chrome和新网站代码的这种组合,点击打印强制Flash对象重新加载。 ..当然会把它清空,所以什么都不打印。

之前有没有人遇到过这种行为? FWIW这个网站使用的是Zurb Foundation系统,以及jQuery和http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js插件。

(因为它使用了Foundation,我们有三个按大小指定的SWF实例,尽管所有其他视图都是空的,除了活动视图。我通过删除除1以外的所有视图来测试这是否是一个可能的问题页面上的对象,但它对此行为没有任何影响。)

1 个答案:

答案 0 :(得分:0)

对于那些可能现在正试图理解这一点的人:我发现了导致Chrome在启动其打印预览对话框时崩溃的特定问题:

因为在Foundation.css中启用/禁用.show-for-large-up.show-for-medium-only标签(以及其他?)正在修改行为,我创建了我们自己的支持Modernizr的屏幕尺寸检测功能来隐藏/显示我们的div没有Foundation的标签。当我这样做时,Chrome上的打印工作正常。

然后,我认为当Foundation自己的CSS文件已经使用@media查询完成时,我不需要调用Modernizr / JS功能,我删除了该功能,只需在display: block添加我们的新自定义隐藏/显示标签。这导致Chrome再次崩溃Flash对象。

所以问题是,当CSS使用@media查询来确定[至少]大视图和中视图内容div的可见性时,Chrome的打印预览对话框会崩溃Flash对象。

这指向Chromium问题,因为打印Flash对象在Safari,Firefox和Explorer上运行良好。具体来说,Chrome打印预览对话框与Foundation的@media查询不太合适 - 可能还有其他第三方提供商的CSS。