<meta> http-equiv 属性
<meta>
元素的 http-equiv
属性允许您为浏览器提供处理指令,就好像返回文档的响应包含某些 HTTP 标头一样。元数据是适用于整个页面的文档级元数据。
当 <meta>
元素具有 http-equiv
属性时,content
属性定义了相应的 http-equiv
值。例如,以下 <meta>
标签告诉浏览器在 5 分钟后刷新页面
<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/xml
或application/xhtml+xml
)类型提供的文档中使用。请参阅Content-Type
HTTP 标头。 content-security-policy
-
允许页面作者为当前页面定义内容安全策略 (CSP),通常是为了指定允许的来源和脚本端点,以防范跨站脚本攻击。请参阅
Content-Security-Policy
HTTP 标头。 default-style
-
设置默认 CSS 样式表集的名称。
refresh
-
等同于
Refresh
HTTP 标头。此指令指定:- 如果
content
属性是非负整数,则表示页面应在多少秒后重新加载。 - 如果
content
属性是非负整数后跟;url=
和一个有效 URL,则表示页面应在多少秒后重定向到另一个 URL。
- 如果
-
为文档设置 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-inline
和 unsafe-eval
指令,内联脚本将被阻止。
<meta http-equiv="Content-Security-Policy" content="default-src https:" />
使用 HTTP Content-Security-Policy
标头可以应用相同的限制。
Content-Security-Policy: default-src https:
设置页面重定向
以下示例使用 http-equiv="refresh"
来指示浏览器执行重定向。content="3;url=https://www.mozilla.org"
属性将在 3 秒后将页面重定向到 https://www.mozilla.org
。
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />
规范
规范 |
---|
HTML # attr-meta-http-equiv |
浏览器兼容性
加载中…
另见
<meta name="referrer">
- 元数据:
<meta>
元素 - 使用
<meta>
防止攻击 httparchive.org (2022)