异步安全加载javascript文件的方法


Posted in Javascript onJuly 21, 2015

本文实例讲述了异步安全加载javascript文件的方法。分享给大家供大家参考。具体如下:

使用方法:

(function() {
  __safeLoadScript("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", function() {
    alert(jQuery);
  });
})();

JavaScript实现代码:

window.__safeLoadScript = function(src, callback) {
  function addEvent(obj, type, fn) {
    if (obj.attachEvent) {
      obj['e' + type + fn] = fn;
      obj[type + fn] = function() { obj['e' + type + fn](window.event); }
      obj.attachEvent('on' + type, obj[type + fn]);
    } else
      obj.addEventListener(type, fn, false);
  }
  function async_load(src, callback) {
    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.async = true;
    var protocol = (("https:" == document.location.protocol) ? "https://" : "http://");
    s.src = protocol + src;
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
    s.onload = s.onreadystatechange = function() {
      if(callback && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
        callback();
      }
    };
  }
  addEvent(window, "load", function() { 
    async_load(src, callback);
  });
};

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
jquery与js函数冲突的两种解决方法
Sep 09 Javascript
Json和Jsonp理论实例代码详解
Nov 15 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
Nov 23 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
Dec 31 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
详解vue-cli 接口代理配置
Dec 13 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
小程序选项卡以及swiper套用(跨页面)
Jun 19 Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 #Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 #Javascript
SWFObject基本用法实例分析
Jul 20 #Javascript
jQuery.prop() 使用详解
Jul 19 #Javascript
javascript中setAttribute()函数使用方法及兼容性
Jul 19 #Javascript
jQuery的position()方法详解
Jul 19 #Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 #Javascript
You might like
Yii框架上传图片用法总结
2016/03/28 PHP
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
获取IE浏览器Cookie信息的方法
2017/01/23 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
python脚本替换指定行实现步骤
2017/07/11 Python
python paramiko模块学习分享
2017/08/23 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
学雷锋先进个人事迹
2014/05/26 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python