如何加载第三方js
来源:互联网 发布:世纪游轮更名巨人网络 编辑:程序博客网 时间:2024/05/22 09:47
网页中加载JS文件是一个老问题了,已经被讨论了一遍又一遍,这里不会再赘述各种经典的解决方案。JS文件可以通过来源来分为两个纬度:第一方JS和第三方JS。第一方JS是网页开发者自己使用的JS代码(内容开发者可控)。而第三方JS则是其他服务提供商提供的(内容开发者不可控),他们将自己的服务包装成JS SDK供网页开发者使用。这篇文章关注的第三方JS文件的加载。
从网站开发者的角度来看,第三方JS相比第一方JS有如下几个不同之处:
下载速度不可控
JS地址域名与网站域名不同
文件内容不可控
不一定有强缓存(Cache-Control/Expires)
如果你的网站上面有很多第三方JS代码,那么“下载速度的不可控”很有可能导
致你的网站会被拖慢。因为JS在执行的时候会影响到页面的DOM和样式等情况。浏览器在解析渲染HTML的时候,如果解析到需要下载文件的标签,那么会停止解析接下来的HTML,然后下载外链JS文件并执行。等JS执行完毕之后才会继续解析剩下的HTML。这就是所谓的『HTML解析被阻止』。浏览器解析渲染页面的抽象流程图如下:
第三方JS代码并不受网站开发者的控制,很有可能会出现加载时间长甚至加载失败的情况。这时候就会导致整个页面的加载速度变慢。第三方JS代码越多这种风险越大。按照互联网守则:
网站加载速度越慢,用户流失越多
所以要考虑下如何在有很多第三方JS的情况下,保证他们不影响到网站自己的加载速度。我们可以异步加载这些第三方JS代码。
异步加载
异步加载JS的方法很多,最常见的就是动态创建一个标签,然后设置其src和async属性,再插入到页面中。这里有个DEMO。实际操作的代码如下:
<>推荐阅读:北京最大的整形医院http://www.dydts.com/
function load(url) {
var scrs = document.getElementsByTagName('');
var last = scrs[scrs.length - 1];
var scr = document.('');
scr.src = url;
scr.async = true;
last.parentNode.insertBefore(scr, last);
}
load('test.js');
- 如何加载第三方js
- 该如何加载google-analytics(或其他第三方)的JS
- 该如何加载google-analytics(或其他第三方)的JS
- 如何安全地嵌入第三方js
- 【h5-egret】js加载成第三方库
- Node.js加载第三方SDK作为node_modules模块
- 加载第三方Js减少页面渲染时间
- Fiori app预加载第三方js库
- 第三方加载图片
- 第三方加载图片
- 加载第三方图片
- android studio 如何加载第三方的jar和so
- 第三方JS库
- 如何在 Vue.js 中使用第三方库
- 如何在 Vue.js 中使用第三方库
- Vue 中如何引入第三方 JS 库
- QT 加载第三方库
- python 加载第三方库
- Maven镜像
- 几维安全免费apk加密服务升级,高强度保护应用源代码避免盗版应用产生
- centos安装tree命令
- Http协议之Https&SSL/TLS&DNS
- 手动备份项目流程
- 如何加载第三方js
- 分组排序
- Hadoop家族简介
- iOS开发 Swift常用的内置函数
- 人类河流文明
- 友盟统计数据和多渠道打包
- 博弈类题目总结
- Docker入门教程(三)Dockerfile
- JAVA 对象术语