异步安全加载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 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
基于jQuery实现图片的前进与后退功能
Apr 24 Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
Aug 21 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
Oct 22 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
Oct 24 Javascript
JS实现焦点图轮播效果的方法详解
Dec 19 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
js图片查看器插件用法示例
Jun 22 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 04 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 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
PHP对字符串的递增运算分析
2010/08/08 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
python实现扫雷小游戏
2020/04/24 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
python 读取、写入txt文件的示例
2020/09/27 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
科学发展观活动总结
2014/08/28 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
2014年人事科工作总结
2014/11/19 职场文书
运动会1000米加油稿
2015/07/21 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript