异步安全加载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 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
Mootools 1.2教程(2) DOM选择器
Sep 14 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
May 10 Javascript
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
Aug 21 Javascript
详解JavaScript的流程控制语句
Nov 30 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
微信小程序网络请求封装示例
Jul 24 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
Jul 27 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
Feb 15 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
在Windows版的PHP中使用ADO
2006/10/09 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php中rename函数用法分析
2014/11/15 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
javascript实现移动端轮播图
2020/12/09 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
python实现五子棋游戏
2019/06/18 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Python tkinter和exe打包的方法
2020/02/05 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
linux面试题参考答案(4)
2013/01/28 面试题
优秀企业获奖感言
2014/02/01 职场文书
消防安全汇报材料
2014/02/08 职场文书
银行授权委托书格式
2014/10/10 职场文书
初三英语教学计划
2015/01/23 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python