importance 属性已在 Chrome 112+、Edge 112+、Opera 98+ 中被彻底移除,Safari 和 Firefox 从未支持,自 2025 年底 Chromium 正式弃用;其解析逻辑已从代码中删除,无法影响资源优先级。

importance 属性在当前主流浏览器(Chrome 112+、Edge 112+、Opera 98+)中**已被移除支持**,它从未在 Safari 或 Firefox 中生效,且自 2025 年底起 Chromium 系列也正式弃用。你无法通过 importance="high" 提升任何资源的下载优先级——该属性已失效,写上等于白写。
为什么 importance 属性现在完全不可用
Chromium 在 2025 年 12 月发布的 M112 稳定版中彻底移除了对 importance 的解析逻辑。DevTools Network 面板里再也看不到该属性产生的任何 Priority 变化;即使 HTML 中保留 importance="high",请求的 Priority 列仍显示为默认值(如 img 默认 Medium,script 默认 Medium/Low)。这不是兼容性问题,而是功能删除。
- 它不是被“忽略”,而是浏览器代码里已无对应处理分支
- 所有依赖它的旧文档(如 WiFi Card 项目中提到的
importance="high"配置)必须重写 - 试图用它控制
link、script或img的加载顺序,结果等同于没加
替代方案:真正有效的资源优先级控制手段
要用就用浏览器仍在维护、有明确行为定义的机制。以下三者是目前唯一可靠路径:
-
<link rel="preload" as="image">:仅对首屏确定尺寸/格式的关键图有效,必须放在<head>最前、紧贴<meta charset>后,且href与最终<img src>完全一致(含查询参数) -
fetchpriority="high":仅对<img>和<iframe>生效,必须带src(不能空或 JS 动态赋值),且仅在 Chromium 112+ 有效;搭配loading="eager"才能避免重复加载 -
fetch(..., { priority: 'high' }):仅作为 Fetch API 的提示信号,Firefox/Safari 忽略,服务端不响应,但 Chromium 会尝试提升调度权重——适合 LCP 前关键数据请求
常见误操作及后果
很多人还在沿用过时教程里的写法,导致实际性能不升反降:
- 给
<img loading="lazy">加importance="high":既无效,又掩盖了 lazy 加载本应带来的带宽节省 - 在
<script>上写importance="high":Chromium 不识别,Safari/Firefox 直接跳过,脚本仍按默认 Medium 或 Low 调度 - 用
importance="low"试图降权第三方统计脚本:实际毫无作用,反而可能因混淆开发者意图,延误真正有效的defer或异步加载改造 - 把
<link rel="preload">放在 CSS 后面或<body>里:请求根本不会发出,Network 面板里查不到 initiator,Priority 显示为 (Other)
真正要调优资源优先级,得放弃 importance 这个幻觉入口,盯住 DevTools Network 面板的 Priority 列和 Initiator 列——只有那里显示 preload 或 fetchpriority 对应的 Highest/High,才算真正生效。其他全是假动作。

















