标签必须置于内,放中无效;应控制长度在50字符内,特殊符号需转义;动态修改须用document.title而非dom操作。

页面标题必须用 <title></title> 标签写在 里,浏览器只认这个,其他地方写都不生效。
title 标签只能出现在 head 中,放 body 里无效
很多人把 <title>我的页面</title> 写在 里,结果浏览器标签页还是显示“无标题”或文件名。这不是兼容性问题,是规范强制要求——HTML 解析器遇到 <title></title> 在 中,会直接忽略或自动移到 (但不可靠,尤其在严格模式下)。
- 永远把
<title></title>放在开始后、前 - 不要用 JavaScript 动态插入
<title></title>到—— 即使 DOM 看起来存在,SEO 和历史记录仍可能读不到 - 服务端渲染或静态 HTML 中,确保模板逻辑没把它错插到
区域
中文、特殊符号和长度会影响显示效果
浏览器标签页宽度有限,太长的 <title></title> 会被截断;含未转义的 &、、<code>> 会导致解析错误,轻则显示异常,重则破坏整个 结构。
- 推荐控制在 50 字符以内(含空格),移动端尤其敏感
- 中文无需编码,但
&必须写成&,写成 <code><,否则可能被当成标签开始 - 避免使用 emoji 或罕见 Unicode 字符——部分旧版浏览器或爬虫无法正确处理
动态改 title 要用 document.title,不是操作 DOM
想用 JS 更新标题?别去 document.querySelector('title').textContent = '新标题',这虽然能改 DOM 节点,但浏览器不会同步更新标签页文字。必须走标准 API。
立即学习“前端免费学习笔记(深入)”;
- 改标题只用
document.title = '新标题',这是唯一可靠方式 - 单页应用(SPA)中,路由切换后务必调用它,否则前进/后退时标题不会变
- 注意:修改
document.title不会触发DOMContentLoaded或任何事件,也不影响 history.state
最常被忽略的是:服务端生成的初始 <title></title> 和客户端 JS 修改后的 document.title 在 SEO 上地位不同——搜索引擎主要抓取 HTML 源码里的内容,JS 后改的标题对首次收录基本没用。










