本来前几天就搭建好了博客,后来就是因为“看板娘”不兼容问题整整调了2天多时间,虽然到最后还是没能调好(手动捂脸〃’▽’〃),但是在调试过程中学到了很多知识,话不多说,summary一下。

1.问题的发现

在安装完“看板娘”插件之后(安装方法之后会更新的哈・ω・),在部署三连之后发现主页底部的不蒜子计数不见了。
本来理应是这样![mark]
但是安装完live2d插件之后,正常显示了超可爱的“看板娘”![mark]
但是之后我在进网页发现底部“不蒜子”计数不见了
而且每篇博客上面的本文阅读量也跟着不见了![mark]
一开始没有想到是“看板娘”不兼容引发的问题。
以为是网页加载的问题,边重复了多次部署三连以及换浏览器打开博客页面,但还是没有什么用,但我发现并不是不显示,就是刚打开博客的一瞬间会显示一下,然后就立刻消失了,也就是说“不蒜子”还是存在并正常运行的。想到这,我便去百度谷歌搜相关问题以及在那些技术群里问,有一个网友跟我说,这是“不蒜子”渲染之后立刻隐藏了。我按照这个思路,改了好多次还是没用。
在此期间,想过换其他的统计方式,随机加入了百度统计,挺好使的哈(。・ω・。)![mark]
但这并不能代替“不蒜子”那些功能。还是选择继续调试……

2.神奇的 F12 (`・ω・´)

开发者工具中主要功能简单来说可以帮助开发者调试js和根据页面元素快速定位,确认请求相应时间和相应内容等,根据内容进行程序调优用。

之前所尝试过得方法也仅仅停留在博客文件即表面,居然没有想到F12这一重要操作,毕竟是运行在网页之上的嘛,网页显示类问题在F12中还是能找到点所以然的。
果然在开发者工具里面发现了![mark]
本来文件配置里是没有style=”display: none;这项的,我把none改为block之后,页面就显示正常了
这时天真的以为这就改好了,刷新网页之后发现还是原状态(手动捂脸),一查才知道F12又叫做“检查”,只能调试页面的样式,不会改变逻辑代码。
灰溜溜的重新看起了开发者工具里面的代码,很快注意到下style栏有个警示△(上图以标)鼠标附上去显示着invalid property value(无效的属性值),看到着便把none改了回来。之后注意到下面的style栏中有项element □style=display: none,我把前面的对号去掉之后,如图 ☟
“不蒜子”正常显示了,当然前面说了这仅仅只能改变页面样式而已,但我在想是不是跟element □style=display: none有关,随即,自己查了下写的样式里面都没有出现与这个相匹配的内容,就连element.style都没有,但我试着把这里的属性给勾选取消,结果网页就恢复正常了,现在基本可以确定就是因为这个问题导致bug的出现……

3.!important

提高指定CSS样式规则的应用优先权。

然而,这个element.style到底是什么?为什么因为这个东西会导致Bug?

我上网查了下,发现这个element.style是内联样式或者是js改写代码之后所留下的,刚才说过,内联样式没有这方面的东西那么,就只剩下js了,我先检查了自己写的js,没问题,再一看下footer.ejs于是,我只能用最笨的办法,修改下面的“不蒜子”的代码里面的样式参数,我发现,根据这里的修改,那个element.style里面的值还是none,根本无法改变。
现在问题原因弄明白了,那么怎么解决呢?element.style根本就不存在啊。
这时网上查询element.style时get√到一样东西☞!important
没错,这个东西的作用就是提高指定CSS样式规则的应用优先权。
也就是说:这个东西可以覆盖掉element.style里面的属性
直接在要覆盖的样式后面加上!important。
于是开始如下尝试,先采用直接加上对于样式和!important,发现根本没有用,随后我便想是不是用div把“不蒜子”给拿出来试试看
很保险的每个位置都加了样式
结果页面显示是显示了但却不计数了

一脸懵逼(`・ω・´)
这里还有一种可以通过ID去定位元素既通过JavaScript修改页面元素属性来定位的方法。详细的这里就不作叙述了可请移步
参考资料

4.重新思考

在调试了整整两天之后,我重新梳理整个过程,并没有像之前那样盲目的急于进行调试,这时才真正才找原因,八成就是“看板娘”兼容造成的,随机我去主题的_config.yml配置文件把“看板娘”给关闭了,果然不出所料,页面一切正常了,改显示的都显示了,之前的element.style默认的也是inline。
知道具体原因后向“不蒜子”官方群反应和百度谷歌搜索也没得到任何相对应的解决方案。之后便放弃了“不蒜子”显示,选择我们可爱的“看板娘”(◕ᴗ◕✿)。不过也仅仅只是不显示,它在后台还是在运行的,按F12便可查看。


虽然最后问题没有得到完美的解决,但这个寻找答案的过程使我受益匪浅。
正所谓☞

  解决问题的能力,程序员立业之本。

  • 要学会主动尝试解决问题
    ☆关于各类问题的解决,解决办法总是能找到,就看你是否足够耐心去寻求解决方案。
  • 要学会科学提问
    ☆在遇到问题时也问了不少人,这其中也有许多需要学习的地方,这里引用到自己比较喜欢的Eric Steven Raymond的《How To Ask Questions The Smart Way》几段话
    详情如下 ☟

    当然礼貌也是十分重要的 ☟

  • 要学会经验总结

☆我们日常遇到的问题就类似打怪升级一样,你解决的问题越多你的能力就会越强,经验自然也会越来越丰富。但人的脑袋不可能记住所有事情,将自己遇到的问题沉淀下来对以后自己查阅也有很大的帮助,就不必每次都要去Google,自己也能够有一个索引库。经常自己总结,正所谓 :

 
1
出入之间,境界始大。不仅收其精微,汇其宏阔,且人情与道理兼具,生气同高致并存。入而不出,狭隘;出而不入,浮浅。故善学者,善于深思与总结。学习如此,创作如此,生活亦如此。  

经过这次调试,发现自己需要学习的东西还有很多很多,希望最后谢谢大家能看到这里,所述问题如有解决方案欢迎指导。
  不早了,溜了溜了(期待下次能带着解决方案回来更新(o°ω°o))

1
迈出一小步之后稍停片刻看看学到了什么,不要盲目学习,而要善于总结反思。成长=经验+反思!

2019/7/24☞更新
上述问题已得到完美解决(。・ω・。),超开心
因为对一些知识还不是太熟悉,等系统学习完之后,我会继续回来更新来提供详细的解决方案……ヾ(●´∀`●)
bye-bye!