<meta> http-equiv 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

<meta> 元素的 http-equiv 属性允许您为浏览器提供处理指令,就好像返回文档的响应包含某些 HTTP 标头一样。元数据是适用于整个页面的文档级元数据

<meta> 元素具有 http-equiv 属性时,content 属性定义了相应的 http-equiv 值。例如,以下 <meta> 标签告诉浏览器在 5 分钟后刷新页面

html
<meta http-equiv="Refresh" content="300" />

只有一部分 HTTP 标头支持作为 http-equiv 值。其中包括:

content-language 已弃用

设置浏览器或辅助技术使用的文档的默认语言。类似于 Content-Language HTTP 标头。请改用 lang 属性。

content-type

声明文档的媒体类型(MIME 类型)和字符编码。如果指定,content 属性必须为 "text/html; charset=utf-8"。这等同于具有 charset 属性的 <meta> 元素,并且对文档中的放置位置有相同的限制。只能在以 text/html 媒体类型提供的文档中使用 — 而不能在以 XML(application/xmlapplication/xhtml+xml)类型提供的文档中使用。请参阅 Content-Type HTTP 标头。

content-security-policy

允许页面作者为当前页面定义内容安全策略 (CSP),通常是为了指定允许的来源和脚本端点,以防范跨站脚本攻击。请参阅 Content-Security-Policy HTTP 标头。

default-style

设置默认 CSS 样式表集的名称。

refresh

等同于 Refresh HTTP 标头。此指令指定:

  • 如果 content 属性是非负整数,则表示页面应在多少秒后重新加载。
  • 如果 content 属性是非负整数后跟 ;url= 和一个有效 URL,则表示页面应在多少秒后重定向到另一个 URL。

计时器从页面完全加载时开始,即在 loadpageshow 事件都触发后。有关更多信息,请参阅辅助功能注意事项

为文档设置 cookie。浏览器现在会忽略此指令;请改用 Set-Cookie HTTP 响应标头或 document.cookie

x-ua-compatible 已弃用

已停用的 Microsoft Internet Explorer 的旧版本使用此属性,以便更严格地遵循指定行为。如果指定,content 属性必须具有值 "IE=edge"。用户代理现在会忽略此指令。该名称源自 X-UA-Compatible HTTP 标头。

警告: 某些浏览器会处理上面未列出的其他标头。由于无法识别的标头或无效值将被忽略,这可能导致跨浏览器实现的行为不一致。特别是,请勿使用 <meta http-equiv= 设置其他安全标头,这可能会导致虚假的安全感!

可访问性考虑

设置为 http-equiv="Refresh" 的页面存在刷新间隔过短的风险。使用屏幕阅读器等辅助技术的用户可能无法在页面自动重定向之前阅读和理解页面内容。突然、未经宣布的页面更新也可能使视力低下的人感到迷失方向。

示例

禁用不安全的内联代码,仅允许 HTTPS 资源

此 HTML <meta> 元素设置默认 CSP,仅允许通过 HTTPS 加载资源(图像、字体、脚本等)。由于未设置 unsafe-inlineunsafe-eval 指令,内联脚本将被阻止。

html
<meta http-equiv="Content-Security-Policy" content="default-src https:" />

使用 HTTP Content-Security-Policy 标头可以应用相同的限制。

http
Content-Security-Policy: default-src https:

设置页面重定向

以下示例使用 http-equiv="refresh" 来指示浏览器执行重定向。content="3;url=https://www.mozilla.org" 属性将在 3 秒后将页面重定向到 https://www.mozilla.org

html
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />

规范

规范
HTML
# attr-meta-http-equiv

浏览器兼容性

另见