云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

京东云_云端数据库_12月免费

小七 141 0

太老了不能装火箭,太年轻了不能死

火箭装载机又上了新闻。Cloudflare最早的web性能产品之一已经针对当代浏览器和web标准进行了重新设计。Rocket Loader不再是beta产品,它控制页面JavaScript的加载和执行,确保有用和有意义的页面内容被解锁并更快地显示出来。对于火箭加载器目标的高层讨论,请参考我们的姐妹帖子,我们已经升空-火箭加载器GA是移动的!下面,我们提供了一个较低层次的概述火箭装载机如何实际实现其目标。史前史早期的人类看到了netscape2.0,它有了使用LiveScript编写HTML脚本的新能力,并通过编辑来确保自己没有做梦。他们决定使用这项技术,很快将被重新命名为JavaScript(一个经常在其他地方讲述的故事),来处理他们不知道自己需要的一切:表单输入验证、图像替换、框架集操作、弹出窗口等等。唯一的需求是包含在在…正文标记。。。…更多正文标记。。。在在变成:在在…正文标记。。。…更多正文标记。。。在在到目前为止,还没有火箭科学,但是通过使大多数或全部脚本不可执行,rocket Loader已经解除了页面解析的阻塞。浏览器更快地显示内容,提高了可感知的页面加载指标,并吸引了用户。在客户机上通常,脚本可以分为四类,每一类在插入DOM时都有不同的加载和执行行为:内联脚本-插入后立即执行。外部阻塞脚本-插入时开始加载,阻止其他脚本加载和执行。外部延迟脚本-在插入时开始加载,而不阻止其他脚本加载和执行。执行应该在DOMContentLoaded事件之前发生。外部异步脚本-在插入时开始加载,而不阻止其他脚本加载和执行。加载时执行。从HTML标准修改图表为了处理所有脚本类型的加载和执行,Rocket Loader需要两次传递。传球1在第一个过程中,我们将所有带有nonce的脚本收集到一个堆栈中,然后将它们重新插入DOM中,去掉nonce,并包装在注释节点中。这些是我们的占位符。在在…正文标记。。。…更多正文标记。。。在在Rocket Loader现在迭代堆栈中的脚本并重新插入它们,保持它们在相关DOM集合中的预期位置(文档.scripts, document.querySelectorAll("脚本"),document.getElementsByTagName("脚本")等)。每个脚本类别的脚本插入和执行过程各不相同:内联脚本-占位符替换为原始脚本元素,不带nonce,使脚本可执行。浏览器在插入时立即执行这样的脚本,在相同的执行时间内执行。外部阻塞脚本-如上所述,但Rocket Loader等待脚本