web浏览器停止运行此脚本 优化浏览器前端

11/27 23:14:25 来源网站:辅助卡盟网

web浏览器停止运行此脚本_易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页

不幸的是async属性和defer属性不适用于内联脚本,因为默认情况下,浏览器将会一旦遇到内联脚本就好编译并执行它们。当他们在HTML中内联时,它们立即运行,通过使用外部资源上的上述两个属性,相较于DOM / CSSOM我们可以延迟运行脚本。

操作前克隆节点

当且仅当您在对DOM进行多次更改时遇到意外行为时,尝试此操作。首先克隆整个DOM节点,对克隆的节点进行更改,然后更换原始节点可能会更有效,因为这会避免多次重绘降低CPU效率和内存负载。它还可以防止您的页面“抖动”和闪烁的未加载样式内容(FOUC)。

易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页_web浏览器停止运行此脚本

克隆时请小心,因为它不会克隆事件侦听器。有时候,这可能正是你想要的。在过去,当不调用命名函数,没有JQuery的.on()和.off()方法可用时,我们使用这种方法来重置事件侦听器。

预加载/预读取/预提交/预连接

这些属性基本上都是在他们的测试版本中,非常好用。但是它们是相当新的,并没有广泛的浏览器支持,这意味着我们大多数人并不是真的很重要的备选方法。但如果你有想了解,请看看这里()和这里()。

易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页_web浏览器停止运行此脚本

第四步 - 渲染树

一旦所有节点都被读取,并且DOM和CSSOM已准备好组合,浏览器就构建“渲染树”。如果我们将节点视为单词,将对象模型视为句子,则“渲染树”就是整个页面。现在浏览器具有渲染页面所需的一切。

手机qq浏览噐停止访问网页_易语言超文本浏览框脚本错误_web浏览器停止运行此脚本

第五步 - 布局

然后我们进入布局阶段,确定页面上所有元素的大小和位置。

web浏览器停止运行此脚本_易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页

第六步 – 绘制

最后我们进入绘制阶段,我们实际上光栅化了屏幕上的像素,为我们的用户绘制页面。

web浏览器停止运行此脚本_手机qq浏览噐停止访问网页_易语言超文本浏览框脚本错误

所有这些通常发生在几秒或零点几秒内。我们的工作就是做得更快。

如果JavaScript事件更改页面的任何部分,就会重新渲染“渲染树”,并强制我们再次布局和绘制。现代浏览器足够聪明,只会进行部分重绘,但是我们不能依赖此功能来保障我们的页面高效。

尽管如此,JavaScript在客户端主要是基于事件的,我们希望它处理我们的DOM,它仍将做这些处理。我们只需要限制它的不良影响。

现在你应该充分了解领会 Tali Garsiel的这个演讲。这是2012年的演讲,但信息仍然适用。她关于这个问题的全面论文可以在这里()读到。

如果你喜欢迄今为止所读过的内容,并仍然渴望了解更多底层技术知识,那么你所有知识的指导就是HTML5规范()。

我们快要完成整个介绍,只需再多给我一点点时间!现在我们揭示为什么我们需要知道上以上内容。

浏览器如何进行网络调用

在本节中,我们将了解如何最有效地向浏览器传送渲染页面所需的数据。

当浏览器向URL发出请求时,我们的服务器使用一些HTML进行响应。我们将从细微处开始介绍,慢慢增加复杂性。

假设这是我们页面的HTML。

web浏览器停止运行此脚本_易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页

我们需要学习一个新的术语,关键渲染路径(Critical Rendering Path,CRP)。它是指浏览器渲染页面所需的步骤数。这是我们的CRP图解现在看起来的样子。

易语言超文本浏览框脚本错误_手机qq浏览噐停止访问网页_web浏览器停止运行此脚本

浏览器发出GET请求,然后一直处于空闲状态,直到我们回复我们的页面所需的1kb HTML(还不包括CSS或JavaScript),然后可以构建DOM并渲染页面。

易语言超文本浏览框脚本错误_web浏览器停止运行此脚本_手机qq浏览噐停止访问网页

关键路径长度

三个CRP指标中的第一个是路径长度。我们希望这个值尽可能低。

浏览器需要一次往返请求服务器来检索渲染页面需要的HTML,它只需请求这一次。因此,我们的关键路径长度是1,完美。

现在我们继续下一个等级,在HTML里包含一些内部样式和JavaScript。

手机qq浏览噐停止访问网页_web浏览器停止运行此脚本_易语言超文本浏览框脚本错误

如果检查我们的CRP图表,我们会看到几个变化。

手机qq浏览噐停止访问网页_易语言超文本浏览框脚本错误_web浏览器停止运行此脚本

我们有两个额外的步骤,构建CSSOM和执行脚本。这是因为我们的HTML包含需要计算的内部样式和脚本。然而,由于不需要外部请求,因此它们不会增加关键路径的长度,耶! 但等一下,不要高兴得太早。还要注意,我们的HTML大小增加到2kb,所以我们必须在某个地方采取措施。

    暂无相关资讯
web浏览器停止运行此脚本 优化浏览器前端