JS的异步加载实现
来源:互联网 发布:看图王软件官方下载 编辑:程序博客网 时间:2024/06/07 17:34
普通写法<script>载入外部JS的时候,是阻碍其他下载的,所有的加载都停止下来,等待这个外部JS的加载并执行完毕,所以异步加载js是非常有必要的,那如何解决实现呢,思路:
一、原生态js实现
- 创建一个script 的DOM节点;
- 对其的type属性赋值为text/javascript ;
- 再指定它的src属性为要加载的js文件URL;
- 把这个DOM节点加入到页面中。
- var MiniSite=new Object();
- MiniSite.Browser={
- ie:/msie/.test(window.navigator.userAgent.toLowerCase()),
- moz:/gecko/.test(window.navigator.userAgent.toLowerCase()),
- opera:/opera/.test(window.navigator.userAgent.toLowerCase()),
- safari:/safari/.test(window.navigator.userAgent.toLowerCase())
- };
- MiniSite.JsLoader={
- load:function(sUrl,fCallback){
- var _script=document.createElement('script');
- _script.setAttribute('charset','gb2312');
- _script.setAttribute('type','text/javascript');
- _script.setAttribute('src',sUrl);
- document.getElementsByTagName('head')[0].appendChild(_script);
- if(MiniSite.Browser.ie){
- _script.onreadystatechange=function(){
- if(this.readyState=='loaded'||this.readyState=='complete'){
- fCallback();
- }
- };
- }else if(MiniSite.Browser.moz){
- _script.onload=function(){
- fCallback();
- };
- }else{
- fCallback();
- }
- }
- };
- //使用方法
- function showaddr()
- {
- alert(IPData);
- }
- MiniSite.JsLoader.load("http://fw.qq.com/ipaddress",function(){showaddr();});
二、用jQuery 的$.getscript()方法来完成异步加载。
0 0
- JS的异步加载实现
- JS实现图片的异步加载
- 关于JS的异步加载
- lazyload.js实现图片异步延迟加载
- 原生js实现ajax异步加载
- 实现图片的异步加载
- 实现图片的异步加载
- 异步加载js和异步执行js的方法
- zTree 的异步加载加载实现--jfinal
- zTree 的异步加载加载实现--jfinal
- html+js实现图片预加载(异步加载)
- 一个异步加载js的函数
- 关于js异步加载的理解
- js异步加载的三种解决方案
- js异步加载的三种解决方案
- js异步加载的三种解决方案
- js异步加载的三种解决方案
- 如何调试异步加载的js文件
- 可变数组的操作插入删除
- Android_adb shell am/pm使用
- uiimagePickerViewController
- synchronized详解
- 326. Power of Three
- JS的异步加载实现
- 解决伪映射的IIS的部署时出现访问404问题
- JFinal学习--01日志
- 装饰器 实例
- C# ListView用法详解
- mysql-proxy实现读写分离
- 摔倒了不可怕,可怕的是爬不起
- MySQL 常用数值处理函数
- CVPR2015