请不要戳我使用IE6,但这是客户的要求。
我的问题是,我有一个EMBED标签,根据用户的选择动态显示PDF,这意味着第一次呈现页面时,不会有任何EMBED标签,但是当用户选择时。< / p>
问题似乎是当EMBED标签被刷新到客户端时,容器DIV没有扩展到足以容纳EMBED标签,或者EMBED标签在某处丢失(好像)。
在Firefox上,EMBED会显示(即使它不是所需的大小),但在IE6上,EMBED根本不可见(即使它在页面源中)。我尝试将容器DIV固定在一个固定的高度(1200px)但没有帮助。
DOM层次结构是
容器DIV 包含另一个设置为float的容器DIV EMDED标签位于浮动容器内
你觉得这个模型有什么明显的问题吗?
非常感谢你的帮助。
注意:这是一个ASP.NET应用程序(我不知道它是否重要,因为它自动创建了凌乱的控件ID)
答案 0 :(得分:1)
IE根本不支持<embed>
。您必须使用<object>
为IE嵌入插件。像往常一样,嵌入标记存在问题,但我认为这将是一个开始的地方:
<object type="application/pdf" data="something.pdf" width="(x)" height="(y)">
<param name="src" value="something.pdf">
</object>
但我建议不要试图嵌入PDF。有些人(包括我自己)绝对不喜欢阅读浏览器内部的PDF文件。它还要求用户拥有一个PDF插件,这是另一个可能不安全的面向网络的代码; PDF阅读器漏洞是过去一年中最广泛的网络攻击之一。
除了嵌入或替代嵌入之外,提供纯PDF链接将允许您覆盖更多用户,并让他们自己决定是在浏览器中下载还是查看PDF。