[JS 真好玩] 嘘!我改了掘金源代码!1 行代码,让表格支持 page_size 切换,从每页 10 条变为 20 条!
我是 HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者 HullQin 授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋等游戏,不收费没广告。还独立开发了《合成大西瓜重制版》。还开发了《Dice Crush》参加 Game Jam 2022。喜欢可以关注我 HullQin 噢~我有空了会分享做游戏的相关技术。
掘金创作者的困惑
上篇文章,我们用 1 行代码,计算掘金创作者写的文章的「展现-阅读转化率」以及「点赞率」等,传送门:《掘金创作者必备: 用一行 JS 查看所有文章的转化率,让你知道什么标题才是好标题》
但是,有个问题,进入「创作者中心」-「内容数据」-「数据趋势」-「单篇分析」https://juejin.cn/creator/data/content/article/single 后,如果你比较勤奋,写了 10 篇以上的文章,那么这个表格只能展示 10 篇文章,因为表格限定:每页 10 条数据。
不知是掘金的产品经理比较倔强,还是掘金的前端开发比较懒,(狗头保命)这个数据分析用的表格并不支持切换 page_size(每页文章的数量)。
所以,用我上篇文章的方法,每次只能计算 10 篇文章的转化率,并不能一次性计算出所有文章的转化率。
这实在是太难受了!我已经写了将近 20 篇文章了,我希望把它们放在一起,统一分析数据!
其实对创作者而言,这种展示数据的表格还是非常重要的,因为可以帮助创作者分析,最好至少每页展示 20 条(但是这样就很长,会比较丑)。
但是现在,不用给掘金产品提建议了,因为我已经用 1 行代码帮掘金实现这个功能了!
解决方案
经过我 HullQin 坚持不懈的努力,终于找到了解决办法,并且只需要 1 行代码!
来吧,展示:1 行代码!
使用方法
按
F12
打开浏览器的开发者工具,进入 Console(调试)面板,复制粘贴上面的代码,并按回车键【不要刷新浏览器】点击「单篇分析」
你会发现,这个「单篇分析」表格已经展示了至多 20 篇文章!(如果你文章不够 20 篇,看到的就是你所有文章了)
求赞求收藏,我为什么求赞求收藏?
掘金将来可能会改版,这个方法可能会失效。不建议你直接复制走代码,建议你收藏文章,再顺手点个赞,超级感谢!因为如果掘金改版了,我会同步修改文章的代码,保证它永远可用!你每次可以来这里找到最新的可用的代码!
原理
通过抓包发现,「单篇分析」的数据来自于叫做list_by_user
的接口,它的 request body 有个参数,叫做page_size
,只要我们把这个参数改大点,那么就会请求得到更多数据啦,然后前端就会渲染出这些数据。
经过试验,后端对page_size
有限制,最大是 20,所以我们把page_size
改成 20 就可以了。
怎么修改 fetch 时的 request body 呢?
幸运的是,JS 中函数也是「一等公民」,我们直接把全局的 window.fetch 函数改了就好,用旧的window.fetch
封装出一个新的fetch
函数,并赋值给window.fetch
。这种模式也叫「装饰器模式」。
在新的fetch
函数中,判断如果请求是list_by_user
,就修改它的body
参数中的page_size
,改成 20,就可以啦。
当然还有其它方法,例如配置代理修改请求包,但是如果你之前没配过代理,就需要安装代理软件、信任证书等操作,不如执行 1 行 JS 来得快~以后我也会教你代理方法的,功能更强大,也更方便,哈哈哈,快快关注我,现在关注我就是老粉啦。
注意事项
毕竟我本人之前也是字节的前端开发,出于责任感,提示下大家:禁止发送恶意请求给掘金噢,禁止压测噢,禁止利用掘金漏洞干坏事噢,不然你的账号可能会被封禁。
写在最后
我是 HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者 HullQin 授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋等游戏,不收费没广告。还独立开发了《合成大西瓜重制版》。还开发了《Dice Crush》参加 Game Jam 2022。喜欢可以关注我 HullQin 噢~我有空了会分享做游戏的相关技术。
版权声明: 本文为 InfoQ 作者【HullQin】的原创文章。
原文链接:【http://xie.infoq.cn/article/6f0fa3b4a9f096c2391793610】。文章转载请联系作者。
评论