异步安全加载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 相关文章推荐
javascript 读取xml,写入xml 实现代码
Jul 10 Javascript
javascript json 新手入门文档
Dec 03 Javascript
Javascript 自定义类型方法小结
Mar 02 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
Jan 09 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
JS前端加密算法示例
Dec 22 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
谈谈JS中的!!
Dec 07 Javascript
Angular2进阶之如何避免Dom误区
Apr 02 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
js实现简易ATM功能
Oct 27 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
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
介绍一些PHP判断变量的函数
2012/04/24 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
Python列表计数及插入实例
2014/12/17 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
浅析Python函数式编程
2018/10/06 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
Python帮你识破双11的套路
2019/11/11 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Python enumerate内置库用法解析
2020/02/24 Python
Python 创建守护进程的示例
2020/09/29 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
初婚初育证明
2014/01/14 职场文书
应届护士求职信范文
2014/01/26 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
开天辟地观后感
2015/06/09 职场文书
结婚主持人致辞
2015/07/28 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库