hexo 搭建博客,文章的导航栏不能正常使用:文章左侧导航栏可以正常生成,但是在点击导航栏后并不能跳转到文章的对应位置,查看网页源代码,Console 报错如下:
1 | Uncaught TypeError: Cannot read property 'top' of undefined |
报错原因
Markdown 的插件并未渲染 heading 的 id ,所以导致锚点失效。
原来会被编译成 <h2 id="title">title</h2>
而现在会被编译成 <h2><span id="title">title</span></h2>
解决方案
进入你项目根目录的 node_modules/hexo-toc/lib/filter.js
中,把28行~31行修改为:
1 | $title.attr('id', id); |
即,仅保留28行,其他的内容注释掉。
问题得以解决。