版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AndyNikolas/article/details/79381547
修改宪法一事的新闻被各种传播和报道,我恰好用微信PC端点开链接,发现了源码居然一闪而过,然后正常展示网页看,我再次刷新后发现不存在源码一闪而过了,带着好奇心,我打开控制台,选中 Disable cache
,然后刷新了几次,发现每次都出现源码一闪而过,然后又正常显示的结果。很有意识,随后我为了能截下一闪而过的源码,我打开了FSCaputer
,然后眼盯着刷新,麻溜的按下 Ctrl + PrtSc
键,截下了一闪而过的内容的图片【截图是要保留证据】。
这是正常页面的样子:
这是一闪而过的那一闪的显示内容:
我在想出现这种现象的原因是什么,一开始很自然的想到了如下东西
- css和js加载顺序不对
- 网速问题?
- 异步加载问题?
但是好像都不能合理解释这个现象。于是我选择查看源码,找到了对应一闪而过的源码部分。下面图片就是部分源码,注意红框部分:
然后我发现这和正常的网页源码不一样,这是一个转义后的 html,那为什么要这样做呢,既然是转义过的,那就应该要有逆转义,将转义过的 html 逆转义成正常的 html,于是我根据类名.article
在js文件中找到如下 js 代码段:
看到这里,我明白了怎么回事。这里面的确切原因是:
前端不能直接解析后端服务器的模板。所以,网页开始显示的是转义后的源码,然后 js 执行逆转义后再渲染成正常的 html,时间很快,就变成一闪而过的现象了。
那么可以确定的是:这是个bug,那要怎么解决这个问题呢?
我想了一下,最简单的就是在外层盒子设置 display 为 none,这样开始渲染时不显示源码,然后很快逆转义后变成 block,就可以解决这个问题了。
算是一个趣闻吧,当然不管宪法怎么修改,只要是为了人民,是为了复兴中华,是为了梦回大唐,我都支持。