(我知道是2019年,为什么还有人仍在使用IE?因为我们仍然使用Acrobat PDF插件。)
我有一个Web应用程序(除其他事项外)使用Acrobat插件在弹出窗口中显示PDF文件(进行数字签名)。
我们遇到一个问题,即某人第一次访问要签名的PDF时,显示的全部是Adobe Gray Screen of Death。如果我们关闭弹出窗口并重新显示,则会显示PDF。
我尝试了以下步骤来解决问题:
将响应标头修改为以下内容:
缓存控制:无缓存,无存储, 必须重新验证,后检查= 0,预检查= 0(删除无缓存会 没有帮助)
编译指示:私人
有效期:0
我还尝试了在动作向导下的Acrobat中激活错误记录,但是什么也没有生成。
最终,有人会重写此代码以使其在现代浏览器中工作(现在无法完成),但是现在,任何人都可以提供帮助吗?
答案 0 :(得分:2)
我们遇到了同样的问题。像魅力一样起作用的解决方案:
将标头cache-control
设置为no-cache
很好。
答案 1 :(得分:1)
我找到了适合我的解决方案。我禁用了Adobe Reader增强安全性设置中的“在AppContainer中运行”功能: Disabling "Run in AppContainer"
答案 2 :(得分:1)
我在IE11上遇到了同样的问题,该问题通过完全删除Cache-Control
标头得以解决。
具体地说,我删除了:
Cache-Control: must-revalidate, post-check=0, pre-check=0
使用Cache-Control
标头重新添加这些选项中的任何一个都会引起问题。
答案 3 :(得分:0)
好的,回到这个问题。我认为可行的原始解决方案无效。
似乎正在发生的事情是,加载PDF的代码实际上是连续两次生成的(编码错误)。 Acrobat ActiveX插件尚未完成初始化以响应第一个加载请求,并且向其抛出第二个文档似乎使插件崩溃,因此屏幕灰屏。
跟踪第二个负载并删除它可以解决该错误。
答案 4 :(得分:0)
我们也在经历这个问题。对于我们来说,当响应标题为:
Cache-Control: public, max-age=0, s-maxage=0
Date: ...
Expires: ...
Vary: *
当我们将响应头更改为:
Cache-Control: public, no-store, max-age=0, s-maxage=0
Date: ...
Expires: ...
Vary: *
请注意,我们正在使用C#,因此我们的实际解决方案可能会有所不同。我们在操作方法中使用了此属性:
[OutputCache(Duration = 0, NoStore = true)]