当我想要显示Adobe PDF查看器时,哪个是在我的HTML文件中使用的最佳/最佳标记?现在我正在使用下面的代码,但是有一些奇怪的副作用(例如它似乎窃取了我设置到另一个INPUT文本框的起始焦点;它似乎与jQueryUI Resizeable类没有很好地兼容等等。)
<embed src="abc.pdf" type="application/pdf" />
我甚至可以用OBJECT标签做同样的事情吗?使用一个标签与另一个标签有利有弊吗?
答案 0 :(得分:156)
OBJECT vs. EMBED - why not always use embed?
底线:OBJECT很好,EMBED很老。除了IE的PARAM标签之外,如果浏览器不支持OBJECT的引用插件,OBJECT标签之间的任何内容都将被呈现,并且显然,无论是否呈现,内容都会获得http请求。
object
是在网页上嵌入内容的当前标准代码。在object
之前<object data="data/test.pdf" type="application/pdf" width="300" height="200">
alt : <a href="data/test.pdf">test.pdf</a>
</object>
之前embed
was included by Netscape (along img
)之前的w3c。
这就是你include a PDF with object
:
embed
如果您确实需要几乎所有浏览器都会显示内联PDF,因为旧浏览器了解object
而不是<object data="abc.pdf" type="application/pdf">
<embed src="abc.pdf" type="application/pdf" />
</object>
,您需要这样做:< / p>
{{1}}
此版本无法验证。
答案 1 :(得分:4)
其他一些选择:
<object type="application/pdf" data="filename.pdf" width="100%" height="100%">
</object>
<object type="application/pdf" data="#request.localhost#_includes/filename.pdf"
width="100%" height="100%">
<param name="src" value="#request.localhost#_includes/filename.pdf">
</object>
答案 2 :(得分:3)
你也可以使用iframe方法,虽然这不是跨浏览器兼容的(例如,不能在chrome或android中工作,可能还有其他方法 - &gt;而是提示下载)。它适用于dataURL和普通URL,不确定其他示例是否与dataURLS一起工作(请告诉我其他示例是否与dataURLS一起使用?)
<iframe class="page-icon preview-pane" frameborder="0" height="352" width="396" src="data:application/pdf;base64, ..DATAURLHERE!... "></iframe>
答案 3 :(得分:2)
网页上pdf显示的最佳跨浏览器解决方案可能是使用Mozilla PDF.js项目代码,它可以作为node.js服务运行并使用如下
<iframe style="width:100%;height:500px" src="http://www.mysite.co.uk/libs/pdfjs/web/viewer.html?file="http://www.mysite.co.uk/mypdf.pdf"></iframe>
找到有关如何使用pdf.js的教程
答案 4 :(得分:1)
虽然对象是,但嵌入不是标准标记。这里的an article看起来会对你有所帮助,因为看起来情况并非如此简单。包含PDF的示例。
答案 5 :(得分:1)
2020年更新的答案:
WHAT-WG HTML生活标准 (2020年9月)中都包含<object>
和<embed>
。
<object>
object元素可以代表一个外部资源, 根据资源的类型,将被视为 图片,作为子浏览上下文或作为外部资源 由插件处理。
<embed>
embed元素为外部(通常是非HTML)应用程序或交互式内容提供集成点。
使用一个标签相对于另一个标签是否有优点/缺点?
Mozilla开发人员网络(MDN)的opinion似乎(虽然相当巧妙)对<object>
的支持程度略高于<embed>
,但MDN绝大多数希望建议您尽可能避免完全嵌入外部内容。
[...]您不太可能使用这些元素-小程序 多年没有使用过,Flash不再流行,原因是 原因数量(请参阅下面的针对插件的案例),PDF倾向于 与嵌入式和其他内容(例如图像)相比,链接更好 和视频具有更好,更容易处理的元素。外挂程式 这些嵌入方法确实是一种传统技术, 主要是提到它们,以防您在某些情况下遇到它们 内部网或企业项目之类的情况。
从前,插件在网络上必不可少。记住 您必须安装Adobe Flash Player才能看电影的日子 线上?然后,您不断收到有关更新的烦人警报 Flash Player和Java运行时环境。网络技术有 自从变得更加强大之后,那些日子就结束了。对于虚拟 所有应用程序,是时候停止交付依赖于 插件并开始利用Web技术。