动态加载js文件
2024-09-29 15:45:11
由于最近在弄echarts,关于地图类的效果,但是全国地图整体的js文件太大了,加载很耗费资源,所以要根据不同省份加载不同地区的js地图,
于是就想的比较简单,
var script = document.createElement ("script")
script.type = "text/javascript";
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
直接加载上去了,可是出现一种诡异的效果,当第一次点击一个省份的时候,不出现效果,第二次点击才出现,以后就正常了,点击一次就出现已经点击过的
省份了,瞬间就尴尬了。。。仔细一想,可不是这么玩啊,js文件还没加载完成,就画地图了,所以就 需要时间加载js文件了,想到了 script的onload事件了,但是
这个事件针对ie还有一定的兼容问题,就不是很好玩了,各种试验,各种资料才最后实现了动态加载js,实现完美的效果了。。。
function loadFun(url, callback){
var script = document.createElement ("script")
script.type = "text/javascript";
if (script.readyState){
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
有需要的同学,可以愉快的玩耍一下了...
还可以进入个人博客:www.jishubar.cn
最新文章
- 如何穿越到android底层
- 关于一些网络代理实现智能流量分流的研究(PAC脚本介绍及利用)
- C#GDI+编程基础(二)
- mysql 基础语法
- [译] TypeScript入门指南(JavaScript的超集)
- 将UIImage保存成JPG或PNG格式存储在本地
- MyEclipse中提示SpringMVC的XML配置文件出错解决方法
- USACO hamming
- vue.js+socket.io+express+mongodb打造在线聊天
- MongoDB 复制(副本集)
- jQuary学习の五のAJAX
- 利用BBED恢复数据文件头
- 排查linux系统是否被入侵
- WPF实现可视化控件打印及打印预览
- 下拉控件jQuery插件
- [ActionSprit 3.0] FMS接收正在播放的视频中嵌入的描述性信息(onMetaData事件)
- ZT 3.1 依赖倒置原则的定义
- java基础之集合长度可变的实现原理
- AD属性常量类
- java中的Enumeration