根路径 href、语义化 nav 结构、aria-current 标记当前页、external 链接配 rel="noopener"、动态路径由模板函数生成,确保全站链接一致可维护。

直接用 <a></a> 标签配合相对路径就能实现多页面跳转,但真正在模板中稳定复用,关键不在“能不能跳”,而在路径一致性、语义正确性、以及后续维护成本。
href 路径写法必须统一用根目录起始
很多人在子目录页面(比如 /blog/post1.html)里写 href="about.html",结果点击后变成 /blog/about.html —— 404。这不是代码错,是路径解析逻辑被浏览器严格执行了。
- 所有站内链接优先用根路径:
href="/about.html"、href="/products/index.html" - 避免
../上溯写法,尤其当文件层级变动时极易断裂 - 如果整个站点部署在子路径(如
https://example.com/myapp/),需配合<base href="/myapp/">,否则所有根路径会指向域名根
导航栏必须用
只用一堆 <a></a> 堆出来也能跳,但会丢失语义、键盘焦点顺序混乱、屏幕阅读器无法识别“这是主菜单”。现代导航不是样式问题,是结构问题。
-
<nav aria-label="主菜单"></nav>是必备包裹,多个<nav></nav>时靠aria-label区分 - 每个导航项必须是
<li><a href="/xxx">首页</a></li>,不能直接<nav><a></a><a></a></nav> - 当前页面对应链接要加
aria-current="page",例如:<a href="/contact.html" aria-current="page">联系我们</a>,CSS 可据此高亮
target="_blank" 必须配 rel="noopener"
漏掉 rel="noopener" 不仅是安全警告,还会导致新页面无法访问 window.opener,某些旧版 JS 跳转逻辑(比如判断来源页)直接失效。
把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。
立即学习“前端免费学习笔记(深入)”;
- 外部链接标准写法:
<a href="https://example.com" target="_blank" rel="noopener">示例网站</a> - 不要用
rel="noreferrer"替代,它会丢 Referer,影响分析统计 - 内部页面绝对不要加
target="_blank",除非业务强要求(如帮助文档侧边栏),否则破坏浏览上下文
模板中动态生成链接时注意路径上下文
如果你用 PHP、JS 模板或静态站点生成器(如 Hugo、Jekyll)批量渲染导航,href 值不能硬编码为相对路径,而要由当前页面位置推导出目标路径。
- 静态生成器通常提供
.RelPermalink或url_for()类函数,优先调用它们生成路径 - 纯前端 JS 渲染时,避免用
window.location.pathname拼接,应预置 base URL 变量(如const BASE = "/";) - 测试要点:打开任意子路径页面(如
/docs/api/v2/),点导航栏所有链接,确认跳转地址全是预期的根路径,且无 404
最常被忽略的其实是路径计算逻辑——它不出现在浏览器控制台报错里,也不触发语法高亮警告,只在某个子页面突然打不开“关于我们”时才暴露。模板不是写一次就完事,而是每次新增页面都要验证整套路径是否仍自洽。


















