2017-08-31 67 views
0

在呈现网页的过程中,样式表加载时间与该样式表中所有规则的应用时间之间存在延迟,绘画完成。当应用并绘制所有CSS规则时检测

此延迟取决于样式表的大小以及规则的复杂性。

有没有可靠的方法来检查绘画过程何时完成?

注:我正在寻找一种方式时,将动态应用CSS规则,也将正常工作,即当新样式表添加到页面或当样式由JavaScript修改。所以document.onload不是这里的一个选项。

上下文:我正在处理一个大型单页应用程序,它可以动态加载样式表。为了避免闪现无标题的内容,我展示了一个微调,并且我需要知道何时隐藏它。

+0

没有可用的这样的事件。 – Cerbrus

+0

@Cerbrus我知道这一点。但也许有一个解决方法?也许使用getComputedStyles()或者requestAnimationFrame()? –

+0

如果您在样式表中侦听“加载”事件,那么在处理程序中,在隐藏微调器之前,请调用'setTimeout'(无延迟)让浏览器呈现新加载的样式表? – Cerbrus

回答

0

我想说最可靠的解决方案是在css加载事件后添加一个小的延迟。

事情是这样的伪代码:

myCssTag.onload(function(){ 
    setTimeout(doStuffAfterRender, 100); 
}); 
+0

需要的是100%可靠,而不是“最可靠”。 –

+0

@SzczepanHołyszewski:所以你倒下了最可靠的方法_exists_?这是唯一可用的选项。 – Cerbrus