问题现状
在上传了上一次的fakebook
博文后,我浏览了该页面,然后发现滚动条到达底部后,文章内容未显示完全,且没有底部的其他信息。(如图)
随后,我登录github
该主题的issue
模块查阅有没有解决办法,发现了2019年有人出现类似问题,并提出“能否把进度条设置长一些”的建议,但一直未能得到解答。
于是,决定自力更生,审计一下项目源码。
解决过程
我在js
文件夹中发现了scroll.js
文件,其中有一些可疑的代码段,
这个应该对应的是头像下面的进度条。
1 | // 进度条君的长度 |
跟进到updateProgress
和findHeadPosition
函数
1 | function updateProgress(scrollTop, beginY, contentHeight) { |
1 | function findHeadPosition(scrollTop) { |
$(document).scrollTop() 获取垂直滚动的距离:当前滚动的地方的窗口顶端到整个页面顶端的距离
scrollTop()==0的时候即顶端
$(document).scrollTop()>=(document).height()−(window).height()即底端
逻辑上代码没有问题,那问题就出现在形参contentHeight
上,也就是articleHeight
这个实参上。
这个参数来源于:
1 | if ($('#post').length) { |
查了一下article
标签的位置:
发现没有任何问题。
这个时候,我翻看了一下原md
文档,发现写了这样的语句:
本意是用引用格式加载文本信息,但是其中的<frame>
标签被解析了,因此导致后面的部分无法加载,小丑竟是我自己。- -
好嘛,虽然中间绕了很多弯路,但是通过这两天对cxo主题源码的审计,我居然能看懂一点css和js了,还是很划算的。
参考
Author: suyumen
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.