今日趣闻

版权声明:本文为博主原创文章,未经博主允许不得转载。 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,就可以解决这个问题了。

算是一个趣闻吧,当然不管宪法怎么修改,只要是为了人民,是为了复兴中华,是为了梦回大唐,我都支持。

猜你喜欢

转载自blog.csdn.net/AndyNikolas/article/details/79381547