请给出异步加载js方案
请给出异步加载js方案,不少于两种
默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。
异步加载方式:
(1) defer,只支持IE
(2) async:
(3) 创建script,插入到DOM中,加载完毕后callBack,见代码:
function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
转载于:https://www.cnblogs.com/xd1024/p/4660202.html
请给出异步加载js方案相关推荐
- 网页性能优化之异步加载js文件
一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件.在谈异步加载之前,先来看看浏览器加载js文件的原理. 浏览器加载 JavaScript 脚本,主要通过<scri ...
- phoneGap异步加载JS失败
现在正在做一个phoneGap项目,安卓平台,有个异步加载JS总是失败,phoneGap也不好调试,一个问题纠结了一下午 最后找了半天,找到了原因,因此写本文记录一下,也顺便帮帮遇到同样问题的人 原因 ...
- 异步加载js的三种方法
js加载时间线 : 它是根据js出生的那一刻开始记录的一系列浏览器按照顺序做的事,形容的就是加载顺序,可以用来优化什么东西,理论基础,背下来. 1.创建Document对象,开始解析web页面.解析H ...
- 异步加载js文件并执行js方法:实现异步处理网页的复杂效果
异步加载js文件并执行js方法:实现异步处理网页的复杂效果 有这么一个场景,当你的网页页面效果过多就会造成了打开页面的速度变得缓慢,长时间处于加载的状态,这样的效果通常会让用户感到不友好,通常的处理方 ...
- angularjs 路由 异步加载js
angularjs 异步加载js 有两种方法 第一种 使用$q 和 requireJS 加载 这个问题 首要出现 在 当我 把require 引入 项目中是,希望做到 点击路由时加载相应的页面htm ...
- JS 异步加载js的三种方案
js文件同步加载的缺点: 页面的js文件一般是同步加载,加载到js文件会阻断html和css的加载,要等到js文件加载完毕,才能继续向下执行,因为js文件可能会操作html和css:但有些js文件不会 ...
- 异步加载js文件的方法总结
方法一,jQuery.getScript HTML 代码: 代码如下 复制代码 <button id="go">Run</button> <div c ...
- 14. 异步加载Js的方式有哪些?
我们都知道渲染引擎遇到 script 标签会停下来,等到执行完脚本,继续向下渲染,如下: <script type="text/javascript" src=". ...
- jekyll静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML
在谷歌搜索的功能速度(实验性)中推荐使用工具PageSpeed Insights查看我的网页访问速度情况:PageSpeed Insights 分数很低,只有33分. 优化建议的第一条是移除阻塞渲染的 ...
最新文章
- Log4j的快速入门
- 进行面向对象设计时,就一个类而言,应该仅有一个引起它变化 的原因,这属于()设计原则。【最全!最详细解析!】
- Java 和 Python 解析动态 key 的 JSON 数据
- pandas 基本使用
- vue 结合swiper插件实现广告公告上下滚动的效果
- 应用Canary文件类型阻击勒索软件
- [置顶] webservice系列1---基于web工程上写一个基本数据类型的webservice
- 翻译:Swift 5编写并发编程,并发解决方案和异步Operation
- Bad CPU type in executable
- Android Studio个人所得税首页布局制作
- 限定通配符和非限定通配符_什么是通配符?
- 向前的快捷键_快速提高逼格的电脑快捷键你懂多少?
- windows 7 开机错误 未能连接到一个Windows服务
- 北航计算机学院 张炯导师,北航计算机学院2011研究生招生复试规定与安排_跨考网...
- IDEA 支持vue
- SVN+SSH协议工作方式全解析,以Sourceforge为例讲解如何在Windows下配置TortoiseSVN和Su
- Matlab高斯白噪声信道仿真
- Latex学术论文期刊模版写作总结
- IPTV用户超225万 千兆宽带覆盖300小区
- vscode格式化文件时 vue文件报错
热门文章
- 单位阶跃信号是周期信号吗_vivoS7e是5G手机吗-支持5G吗-5G信号怎么样
- python模块_python模块
- js 正则判断用户是否输入表情
- ionic4 ios打开appstore 跳转第三方app
- c语言实验转换字母顺序结构,实验1顺序结构的程序设计-实验报告.doc
- 手机鸿蒙OS框架,鸿蒙OS正式“开源”!区别于iOS和安卓,实现了真正的纯国产!...
- 噪声产生原因_皮带输送机异常噪声的5种情况、减速机断轴的原因和解决方法...
- 利用layui来完成垂直和侧边导航的小案例
- mysql 处理文件函数_mysql数据处理与函数
- 暮色森林模组_《我的世界》暮色森林VS天启之境 到底谁才是冒险模组一哥