Jay*_*n93 156 html pdf embed-tag
当我想要显示Adobe PDF查看器时,哪个是在我的HTML文件中使用的正确/最佳标记?现在我正在使用下面的代码,但是有一些奇怪的副作用(例如它似乎窃取了我设置到另一个INPUT文本框的起始焦点;它似乎与jQueryUI Resizeable类没有很好地兼容;等)
<embed src="abc.pdf" type="application/pdf" />
Run Code Online (Sandbox Code Playgroud)
我甚至可以用OBJECT标签做同样的事情吗?使用一个标签与另一个标签有利有弊吗?
Est*_*ber 165
底线:OBJECT很好,EMBED很老.除了IE的PARAM标签之外,如果浏览器不支持OBJECT的引用插件,OBJECT标签之间的任何内容都将被呈现,并且显然,无论是否呈现,内容都会获得http请求.
object
是在页面上嵌入内容的当前标准标记.embed
被列入由Netscape(沿img
)任何东西之前一样object
是在W3C的头脑.
这是您包含PDF的方式object
:
<object data="data/test.pdf" type="application/pdf" width="300" height="200">
alt : <a href="data/test.pdf">test.pdf</a>
</object>
Run Code Online (Sandbox Code Playgroud)
如果您确实需要几乎所有浏览器都能显示内联PDF,那么旧版浏览器可以理解embed
但不是object
,您需要这样做:
<object data="abc.pdf" type="application/pdf">
<embed src="abc.pdf" type="application/pdf" />
</object>
Run Code Online (Sandbox Code Playgroud)
此版本无法验证.
2020 年更新的答案:
双方<object>
并<embed>
都包含在WHAT-WG HTML生活水平 (9月2020) 。
<object>
object 元素可以表示外部资源,根据资源的类型,该资源将被视为图像、子浏览上下文或由插件处理的外部资源。
<embed>
embed 元素为外部(通常是非 HTML)应用程序或交互式内容提供了一个集成点。
使用一种标签与另一种标签有什么优点/缺点吗?
该意见的Mozilla开发者网络(MDN)出现(尽管是相当微妙的)非常轻微偏向<object>
过度<embed>
,但是,绝大多数,MDN想建议您随时随地可以,你完全避免嵌入外部内容。
[...] 您不太可能经常使用这些元素 — Applet 已多年未使用,Flash 不再流行,原因有很多(请参阅下面的插件案例),PDF 倾向于链接比嵌入更好,并且其他内容(例如图像和视频)有更好、更容易处理的元素。插件和这些嵌入方法确实是一项遗留技术,我们主要是为了以防万一您在某些情况下(如 Intranet 或企业项目)遇到它们。
曾几何时,插件在 Web 上是必不可少的。还记得您必须安装 Adobe Flash Player 才能在线观看电影的日子吗?然后,您不断收到有关更新 Flash Player 和 Java 运行时环境的烦人警报。自那以后,Web 技术变得更加强大,而那些日子已经一去不复返了。对于几乎所有的应用程序,是时候停止提供依赖插件的内容并开始利用 Web 技术了。
来源: https : //developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies#The_%3Cembed%3E_and_%3Cobject%3E_elements
小智 6
其他一些选择:
<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>
Run Code Online (Sandbox Code Playgroud)