我用标签嵌入了一个pdf文件.
<iframe id="iframepdf" src="files/example.pdf"></iframe>
Run Code Online (Sandbox Code Playgroud)
这在Chrome,IE8 +,Firefox等中运行良好,但出于某种原因,当有人在IE8中查看时,文件正在下载而不是嵌入.我知道这个浏览器已经过时,但它是我办公室内的标准浏览器,因此,网站必须为此设计.
有没有人有任何关于为什么会发生这种情况的想法,如何修复它或者输入错误信息而不是让文件下载?
出于某种原因,iPad safari浏览器无法很好地处理嵌入式PDF.单独启动时,PDF可以自行查看,但不能使用object标签.问题是他们不滚动.
我有一个带有嵌入式pdf的jquery页面,可以很好地滚动浏览mozilla和chrome,但在safari(iPad)上,PDF仍然停留在第一页并且不可滚动.问题是,如何在iPad浏览器上完成这项工作?
这里发布了一个类似的问题.嵌入式PDF可以在iPad上滚动,但答案并不是很好.他们使用10000px的高度作弊,这为小文档创建了大量的空白,并且可能不适用于非常大的文档:
<!DOCTYPE html>
<html>
<head>
<title>PDF frame scrolling test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style>
#container { overflow: auto; -webkit-overflow-scrolling: touch; height: 500px; }
object { width: 500px; height: 10000px }
</style>
</head>
<body>
<div id="container">
<object id="obj" data="my.pdf" >object can't be rendered</object>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
没有硬编码疯狂高度的任何方式来完成这项工作?
我正在寻找正确的方法来确保在ipad/iOS5上的iframe中滚动后动态显示的内容是可见的.
哦,Iframes和iPad - 你是多么美妙的老chesnut.我知道:
<iframe height="100%"> 因此它是无用的,因为它的大小不是容器的大小我需要将我的iframe包装在一个div中 - 一个la
<div id="wrapper" style="-webkit-overflow-scrolling:touch;overflow:auto;">
<iframe width="100%" height="100%" src="about"blank"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)我的问题是,iframe主体内部动态显示的内容(例如jquery选项卡,手风琴等)可能会导致浏览器在页面的显示范围内裁剪内容.
例如,如果我的"标签"大部分位于iframe内部的可见视口下方,我执行双指滚动(或实现单指scrollTop hack),然后将该内容滚动到视图中,其中一些内容是之前没有绘制的仍然未提取.再次单击第二个选项卡/后退会使内容显示为好像页面不绘制屏幕外内容.在此之后,如果我然后向上滚动到页面顶部,则不会为页面的开头绘制内容(之前可见).使用双指滚动向上和向下滚动页面可以解决问题.
我读过这篇文章,说明问题已得到解决.但它似乎没有完全修复; 并且仍然没有解决这个问题,因为你必须将你的iframe包装在div中并在该div上放置滚动条,桌面浏览器可能会显示双滚动条,具体取决于它们的解释方式overflow:auto.
ps我在iframe内外使用HTML5样板页面,并使用正确的元视口设置.