异步加载js文件的方法

摘要:
#js文件的异步加载-默认情况下,js的加载是同步的,因为js是单线程执行,只能在执行下一个任务之前完成一个任务-一些外部导入的js文件可能会影响dom元素的加载和资源加载期间的用户体验,因为文件太大。因此,使用异步加载技术来加载文件-通常,所有脚本标记都会添加一个异步异步属性。加载脚本标记时,同时加载dom元素。然而,另一个问题出现了。无法使用已加载的js资源,例如jQuery,因为
# 异步加载js文件
- js的加载默认是同步的,因为js是单线程执行,只能完成一件再执行下一件.

- 一些外部引入的js文件可以因为文件太大,在加载资源的过程中会影响dom元素的加载,影响了用户体验,因此会使用异步加载技术加载文件.

- 一般情况下给所有的script标签添加一个async异步属性,在加载script标签的同时加载dom元素.但会出现另外一个问题.加载的js资源,如jQuery,不能使用,因为在执行jQuery程序的时候,jQuery.js还没有加载完成.这时可以用到回到函数

1. 使用回到函数在加载完成资源后调用该资源的方法
```javascript
<script async src="http://t.zoukankan.com/js/jquery-1.12.4.min.js" id="jq"></script>
<script async >
document.querySelector("#jq").onload = function () {
console.log($);
}
</script>
```

2.require.js模块化工具
- 通过该模块化工具异步加载js文件后在执行该js文件的方法
```javascript
// <script src="http://t.zoukankan.com/jquery.js"></script>
// <script src="http://t.zoukankan.com/template.js"></script>
<script src="http://t.zoukankan.com/require.js"></script>
<script>
require(['./jquery','./templatet'],function(template){
console.log($);
        
            console.log(template);
})
</script>

```
- require()

> 参数1 : 是一个数组,里面的值是需要引用的js文件

> 参数2 : 回调函数,在异步加载完成js文件后执行的程序,如果引入的js文件的返回值是对象需要传参数,如果返回的是对象直接使用

免责声明:文章转载自《异步加载js文件的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇centos6.5磁盘扩容spring boot项目使用外部tomcat启动失败总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js 前端向服务器端传送文件的常用请求方式

在做项目的过程当中写到文件上传的功能,想着之前也是踩坑过来的,就在这里总结下自己常用的方法吧。我们现在一般都是通过ajax来搭起前后端数据交互的桥梁,但是大家在做到有文件需要上传的时候就会发现我们用ajax请求通过json来传参就无法满足我们需求了,如下图: 那么来说说我常用的两种上传方式吧。 1:使用FormData对象 这种方式即不用引入第三方上传插...

js 浏览器窗口 刷新、关闭事件

1、beforeunload 当浏览器窗口关闭或者刷新时,会触发beforeunload事件。当前页面不会直接关闭,可以点击确定按钮关闭或刷新,也可以取消关闭或刷新。 2、onbeforeunload 当窗口即将被卸载(关闭)时,会触发该事件.此时页面文档依然可见,且该事件的默认动作可以被取消。 各大浏览器测试结果: 火狐浏览器 刷新时:先执行 onbef...

Electron-Node安全性问题之一

上次开会项目开会提到了使用electron安全性的问题: 是否要禁用Node.js集成?是目前所要考虑的问题。 跨站脚本(XSS)攻击很常见,攻击者跳过渲染进程并在用户电脑上执行恶意代码,危害是非常大的。禁用Node.js集成有助于防止XSS攻击升级为“远程代码执行”(RCE)攻击。 怎么解决Node.js集成的问题? 当禁用Node.js集成时,你可以暴...

js中几种实用的跨域方法原理详解

什么是同源策略?同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1、Cooki...

airtest之脚本批量运行

项目目录      根目录:D:workspaceairtestsuite   脚本:douyin.air,dy.air   日志目录:log     日志目录由custom_launcher.py自动生成,custom_launcher.py目录:D:workspaceairtestsuitecustom_launcher.py,即在根目录下      ...

gotoTop返回顶部 JS

方法: 1.首先在body添加一个标签,在一个页面添加,其它页面也会生效。 <body> <a name="top"> 2.然后在页脚添加一个链接 <a href="javascript:void(0)"onclick="goto_top()">返回页顶</a> 3.JS代码,可以单独写成一个文件,插入到h...