首页 > 编程知识 正文

js页面异步下载,js异步调用方法

时间:2023-05-04 14:33:19 阅读:37198 作者:3153

今天如何异步加载jsjs也不是使用异步负载就可以了,也没看到速度变慢吧。 稍后仔细调查后,我发现自己还太年轻了。

以前自己写的有本地js,也有没有做复杂逻辑运算的js,看不出什么问题,查完资料后,把做不到的事情记在这里,作为学习资料室。

1,什么是异步加载js可以从html分析的瀑布下载中释放js文件,从而使js可以并行下载?

2、为什么异步加载一般写法是将js放入head中,而且默认方式是同步加载。 因此,在进行js加载时,在该加载完成之前无法处理后续内容,页面内被阻止,对用户体验非常不友好。

3 )如何异步加载以前我们的写作方式是将外部js或js放在body之后或内部js放在body结束标记之前。 这样至少可以加载一些基本内容,而不用等待太久。 值得注意的是,js通常包含对dom的操作,放在body前面可能会出现空白或闪烁。 此外,如果将js放在主体中并放在结束标记之前,则无法获取onload

)1)、比较常用的写法是http://www.Sina.com/script domelement 3358 www.Sina.com /

//立即运行函数(function () ) script标记varscripttag=document.create lement ) ' script ' ); //h4之前必须加上type,h5为script tag.type=' text/JavaScript '; //h5中新添加的,该方法无需写scriptTag.async=true您的地址scriptTag.src='js地址'; head标记varheadtag=document.getelementsbytagname (' head ' ) [0]; //在现有子节点之前插入此标记,但实际上是appendchildheadtag.insertbefore (script tag,headTag.firstChild ); () )但是,这个函数放在哪里呢? 我有一段时间没查了,想想应该是放在head上的。 果然那个也是同步加载的。 但是,这个方法有问题。 将为动态的添加一个script标签,叫做,但您也可以将此函数放入onload中,因为您经常需要使用此函数来渲染其他内容。

(功能()//兼容的ie。 因为ie窗口中没有高级事件监视程序(window.attach event ) window.attachevent('load ',asyncLoad )、asyncLoad )//} var asyncLoad=function () varscripttag=document.createelement (' script ' ); script tag.type=' text/JavaScript '; 脚本tag.async=true; scriptTag.src='你的地址'; varheadtag=document.getelementsbytagname (' head ' ) [0]; head tag.insertbefore (脚本标记,head标记); () ); ) 2、差速器

该属性是h5的新属性,只能由ie使用,主要可以延缓脚本的执行;

有三点需要注意:

1.defer仅适用于外部链接脚本。 如果script标记没有指定src属性,则只有内部链接脚本。 请勿使用差速器

如果有多个脚本声明了defer,请按顺序下载并运行

3.defer脚本在DOMContentLoaded和load事件之前运行

(3)、异步

此属性声明外部js的异步加载。

3点了:

1 .仅适用于附加脚本的点与defer一致

如果有多个脚本声明了async,则它们的下载和执行也是异步的,无法确保彼此的优先级

3.async在load事件之前运行,但不能保证与DOMContentLoaded的运行优先级

这两个属性是从https://blog.csdn.net/Liuhe 688/article/details/51247484运来的,写得很详细,可以仔细看,加深理解。

其中参考了https://www.cn blogs.com/HQ 233/p/7102549.html,胡说八道的人写的课,我学到了很多。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。