object标签内部备用内容是加载失败时唯一可见部分,必须写在开闭标签间且为真实子节点(如、),注释、空格或js插入无效;需设置width/height才可见。

object 标签内部的备用内容不是可选的“锦上添花”,而是加载失败时唯一能被用户看到的部分——不写,就真的一片空白。
备用内容必须直接写在 object 开始与结束标签之间
浏览器只认标签体内的**真实子节点**(文本、<p></p>、<img>、<a></a> 甚至嵌套的 <object></object>),不会渲染注释、空格或 JS 动态插入的内容。
- ✅ 正确:
<object data="a.html"><p>加载失败</p> <img src="fallback.png"></object> - ❌ 错误:
<object data="a.html"><!-- 备用提示 --></object>(注释不显示) - ❌ 错误:
<object id="obj"></object>+document.getElementById('obj').innerHTML = '加载失败'(JS 插入晚于 fallback 判定时机)
备用内容会触发的典型失败场景
只要以下任一条件成立,object 内部内容就会被渲染:
-
data指向的 URL 返回 404、500 或网络超时 -
type声明为"text/html",但实际返回的是 JSON 或纯文本(MIME 不匹配) - 浏览器禁用了插件支持(如已移除 Flash 支持,而
type="application/x-shockwave-flash") - 本地开发时用
file://协议打开页面,Safari/Chrome 阻止object加载本地 HTML(需 HTTP 服务)
object 嵌套备用元素的常见组合
别只放一行文字。合理组合能提升可用性:
- 先用
<p></p>给简明提示,比如<p>无法加载实时仪表板</p> - 紧跟一个
<img>显示静态截图或降级图表,src应为可稳定访问的路径 - 加一个
<a href="xxx.html" target="_blank"></a>提供手动打开链接,避免用户卡死 - 避免嵌套
<script></script>或<iframe></iframe>:它们不会在 fallback 阶段执行或渲染
最易被忽略的一点:即使你写了备用内容,如果 object 元素本身 width/height 为 0 或未设置,它依然不可见——width 和 height 属性(或 CSS)不是可选的,是备用内容能被用户看见的前提。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











