整个CSS出现,消失,然后再次出现在页面加载上

问题描述 投票:0回答:1

我的公司网站上有一个奇怪的问题。加载时闪烁,没有应用CSS。我认为这只是意味着CSS被推迟了,但是看看加载时间线:

Timeline of page load

似乎应用了CSS,然后在400ms后停止应用,然后在~500ms后再次应用。

我无法看到可能导致此类问题的原因。

How to replicate:

this site。按地址栏上的Enter键(出于某种原因,仅刷新时不会出现问题)。

仅在未禁用缓存时才会出现此问题。

在Chrome和Firefox上复制,似乎没有出现在Safari上。

作为localhost运行时不会出现

似乎不受广告拦截器存在/不存在的影响

html css page-refresh pageload
1个回答
0
投票

发现一个修复,仍然没有找到原因。

The fix:

在标题中的JS之前移动CSS。 This shouldn't have an effect,但显然它确实在这种情况下。

The reason:

据我所知,有问题的流程如下:

1 - 浏览器从缓存中获取CSS并应用它

2 - 浏览器出于某种原因意识到它应该使用头部的CSS,并删除缓存CSS

3 - 脚本(主要是谷歌分析)延迟了CSS加载,我们可以看到一些没有css网站

仍然根本不理解第2点,但修复工作。而且我付出了努力使其发挥作用,而不是理解它,所以问题已经结束了。

© www.soinside.com 2019 - 2024. All rights reserved.