Next/Head中添加语言标签的规范实现方式
Next.js页面语言标签正确用法说明
三个选项中选项3是符合规范的正确用法,各选项的具体说明如下:
- 选项1:
og:locale是Open Graph协议的社交元标签,仅用于告诉社交平台页面的地域语言属性,不属于W3C标准要求的页面全局语言声明,不能替代根标签的lang属性,最多只能作为补充配置使用,不是本题要找的语言标签实现方式。 - 选项2:小写的
<html>是原生HTML标签,Next.js中不允许直接在普通组件中声明根html标签,所有对根html标签的属性配置都必须通过框架内置组件实现,所以这种写法是错误的,无法生效还可能引发编译问题。 - 选项3:大写开头的
<Html>是Next.js从next/document包导出的内置组件,专门用于在自定义文档(pages/_document.jsPages Router场景)中配置根html标签的属性,给该组件加lang属性是官方推荐的全局页面语言声明方式,配置后全局生效,完全符合规范要求。
如果你是用Next.js 13+的App Router,直接在根layout.tsx的原生标签上加lang属性即可,和Pages Router的用法有区别,但就你给出的三个选项而言,选项3是唯一正确的。
内容的提问来源于stack exchange,提问作者mango
相关产品推荐
相关产品推荐

