动态加载jQuery的两种方法实例分析


Posted in Javascript onJuly 17, 2015

本文实例讲述了动态加载jQuery的两种方法。分享给大家供大家参考。具体如下:

第一种方法参考本站之前有人发的代码,增加了加载检测;
第二种方法来自去年的12306刷票脚本。

第一种方法:

function withjQuery(callback) {
 if(!(window.jQuery)) {
 var js = document.createElement('script');
 js.setAttribute('src', 'https://dynamic.12306.cn/otsweb/js/common/jquery-1.4.2.min.js?version=5.47');
 js.setAttribute('type', 'text/javascript');
 js.onload = js.onreadystatechange = function() {
  if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
    if(callback && typeof callback === "function") {
     callback();
    }
   js.onload = js.onreadystatechange = null;
  }
 };
 document.getElementsByTagName('head')[0].appendChild(js);
 }
}
withjQuery( 
 function() { 
  $(function(){ alert("jQuery loaded"); })(); 
 }
);

第二种方法:

// ==UserScript== 
// @name   12306 Booking Assistant
// @version  1.4.0
// @author  zzdhidden@gmail.com
// @namespace https://github.com/zzdhidden
// @description 12306 订票助手之(自动登录,自动查票,自动订单)
// @include  *://dynamic.12306.cn/otsweb/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
// ==/UserScript== 
function withjQuery(callback, safe){
 if(typeof(jQuery) == "undefined") {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
  if(safe) {
   var cb = document.createElement("script");
   cb.type = "text/javascript";
   cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery, window);";
   script.addEventListener('load', function() {
    document.head.appendChild(cb);
   });
  }
  else {
   var dollar = undefined;
   if(typeof($) != "undefined") dollar = $;
   script.addEventListener('load', function() {
    jQuery.noConflict();
    $ = dollar;
    callback(jQuery, window);
   });
  }
  document.head.appendChild(script);
 } else {
  setTimeout(function() {
   //Firefox supports
   callback(jQuery, typeof unsafeWindow === "undefined" ? window : unsafeWindow);
  }, 30);
 }
}
withjQuery(function($, window){
 $(function() { alert("jQuery loaded"); })();
}, true);

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

Javascript 相关文章推荐
扩展jQuery 键盘事件的几个基本方法
Oct 30 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
JS二维数组的定义说明
Mar 03 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
JS中mouseup事件丢失的原因与解决办法
Jun 14 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
Oct 26 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
Vue项目接入Paypal实现示例详解
Jun 04 Javascript
javascript父子页面通讯实例详解
Jul 17 #Javascript
javascript实现的闭包简单实例
Jul 17 #Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 #Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 #Javascript
JavaScript之AOP编程实例
Jul 17 #Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 #Javascript
javascript封装的sqlite操作类实例
Jul 17 #Javascript
You might like
一个比较简单的PHP 分页分组类
2009/12/10 PHP
PHP print类函数使用总结
2010/06/25 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
checkbox 多选框 联动实现代码
2008/10/22 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
使用Python制作微信跳一跳辅助
2018/01/31 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
成人继续教育实施方案
2014/03/01 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
黄金酒广告词
2014/03/21 职场文书
百年校庆节目主持词
2014/03/27 职场文书
《穷人》教学反思
2014/04/08 职场文书
团组织推优材料
2014/12/29 职场文书
家属联谊会致辞
2015/07/31 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS