使用对象标记在JSF中显示PDF文件

使用对象标记在JSF中显示PDF文件,pdf,xhtml,richfaces,Pdf,Xhtml,Richfaces,我的项目使用richfaces 4,我试图在一个rich:CollapsablePanel中显示一个PDF文件,该面板使用对象标记并借助servlet。当存在PDF文件时,它与所有浏览器(即IE、Firefox、Chorme)完美配合 问题1: 如果没有pdf文档,那么在Firefox和Chrome中,可折叠面板内部保持空白(应该是这样)。但是在IE 9和以上,它给出了一个黑色背景,在中间写“初始化…”(当它正在加载PDF文件时)。在这种情况下,因为没有要加载的文件,所以它仍然卡在那里。如何克服

我的项目使用richfaces 4,我试图在一个rich:CollapsablePanel中显示一个PDF文件,该面板使用对象标记并借助servlet。当存在PDF文件时,它与所有浏览器(即IE、Firefox、Chorme)完美配合

问题1: 如果没有pdf文档,那么在Firefox和Chrome中,可折叠面板内部保持空白(应该是这样)。但是在IE 9和以上,它给出了一个黑色背景,在中间写“初始化…”(当它正在加载PDF文件时)。在这种情况下,因为没有要加载的文件,所以它仍然卡在那里。如何克服这个问题

问题2: 在IE9及以上版本中,标题菜单的下拉菜单位于PDF文件后面。这显然是z-index的问题,但问题是,为什么它在Firefox和Chrome中表现完美?我已尝试使用object标记的style属性修复z索引。不起作用

关于这一点有很多问题,但没有一个对我的情况有帮助

下面给出了我的代码的一个小示例:

<object data='servlet' 
        type='application/pdf' 
        width='100%' 
        height='100%'/>

我甚至试过使用params,如图所示

<object type='application/pdf' 
        width='100%' 
        height='100%'>
 <param name="src" value="servlet">
</object>

即使我的框架不起作用。IE中也存在同样的问题


有没有办法解决这些问题?

您不能在服务器端进行检查,仅在有文件要显示时才渲染?至于为什么它在IE中不起作用,IE是很奇怪的。@Makhiel-昨天早上我用同样的解决方案解决了问题1,它起了作用。但我主要关心的是问题2。你有什么解决办法吗?谢谢:)有些元素的z索引几乎是无限的(例如,下拉列表)。这可能是其中之一。不@Makhiel,我相信问题是因为IE使用AdobeReader插件来显示pdf文件&它在运行时将其加载到DOM中。因此,在加载html主体后,当它执行对象标记时,它将成为最新的元素以及最顶层的元素。这就是z指数问题即将出现的原因。这是没有解决办法的。