在网络浏览器中(如果重要的话,移动设备),我假设当您访问网页时,会返回一些HTML数据包。如果这是正确的,那么Web浏览器是否会在返回所有HTML数据包之前开始呈现HTML?
我问这个是因为我正在写一个网页而且我听说上面的内容应该比低于内容的内容具有更低的延迟,我想知道为什么这对浏览器等待的重要性处理前的整个HTML响应。
答案 0 :(得分:3)
是的,如果只有部分内容在短时间内可用,网络浏览器通常会尝试根据可用数据呈现网页。随着更多内容可用,呈现的页面会定期更新。
但请注意,某些因素可能会阻止浏览器呈现部分内容,尤其是:
文档正文中的外部<script>
元素暂停渲染,直到可以加载脚本。 (这是因为外部脚本可能包含对document.write()
的调用,这可能会更改文档的解释。)
在整个表可用之前,某些浏览器无法呈现HTML表。
浏览器通常会在呈现页面之前尝试下载样式表,以避免使用FoUC(“无格式内容的闪烁”)。但是,如果样式表没有到达,浏览器最终会放弃并使用可用的内容。
某些Web应用程序框架和/或编程语言可能具有阻止任何内容在完全生成之前发送的功能。