首页 / HTML5 入门教程 / embed 与 object 标签

HTML5 入门教程

embed 与 object 标签

本教程共 110 篇 · 第 78 篇 · 更新于 2026-07-28 · 约 4 分钟阅读

HTML5HTML5 入门教程embedobject插件嵌入

78. embed 与 object 标签

本节目标:了解 embed 和 object 标签的作用,知道它们的历史用途和现代替代方案。

<embed><object> 都是用来在页面里嵌入外部内容的标签。在 HTML5 之前,它们主要用来加载 Flash 插件。现在 Flash 已经退出历史舞台,这两个标签的用途也变了。

embed 标签

<embed> 是一个自闭合标签,用来嵌入外部内容。

<embed src="movie.swf" width="400" height="300">

它没有闭合标签,也不能放兜底内容。这是它最大的缺点——如果浏览器不支持,用户什么都看不到。

常用属性

属性作用
src嵌入内容的 URL
typeMIME 类型
width宽度
height高度
Note

<embed> 在 HTML4 中不是标准标签,但所有浏览器都支持。HTML5 正式把它纳入规范。

object 标签

<object><embed> 更强大,支持嵌套兜底内容。

<object data="movie.swf" width="400" height="300">
  <param name="autoplay" value="true">
  你的浏览器不支持此内容。
</object>

如果浏览器不支持 .swf,就会显示标签内的文字或嵌套内容。

常用属性

属性作用
data资源的 URL
typeMIME 类型
width宽度
height高度

<param> 标签可以给嵌入的对象传参数,比如是否自动播放、是否循环等。

现代用途

Flash 被淘汰后,这两个标签现在主要用于嵌入 PDF、图片等内容。

<!-- 嵌入 PDF -->
<object data="document.pdf" type="application/pdf" width="600" height="800">
  <p>无法显示 PDF,<a href="document.pdf">点击下载</a>。</p>
</object>
<!-- 嵌入图片 -->
<object data="image.svg" type="image/svg+xml">
  <img src="fallback.png" alt="备用图片">
</object>

embed vs object

对比项embedobject
闭合方式自闭合有闭合标签
兜底内容不支持支持
传参不支持通过 param
语义较弱较强
Tip

现代开发中,能用 <video><audio><iframe> 解决的问题,就不需要 <embed><object> 了。它们更多是作为兜底方案存在。

Flash 的历史注脚

在 2010 年前后,Flash 是网页视频和动画的标配。YouTube、优酷这些网站当年都用 Flash 播放器。

2020 年底,Adobe 正式停止支持 Flash。现代浏览器也彻底移除了 Flash 插件。现在你在代码里写 *.swf 文件,已经没有任何意义了。

Note

如果你在旧项目里看到 <embed src="*.swf"><object classid="clsid:...">,那是时代的产物。新项目请用 HTML5 原生方案。

小结

  • <embed> 是自闭合标签,嵌入外部内容
  • <object> 支持兜底内容和参数传递
  • Flash 已退出历史舞台,这两个标签现在很少用
  • 现代开发优先用 <video><audio><iframe>