首页 > 语言 > JavaScript > 正文

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

2024-05-06 16:23:22
字体:
来源:转载
供稿:网友

这篇文章主要介绍了动态加载jQuery的两种方法,实例分析了jquery动态加载的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

第一种方法参考本站之前有人发的代码,增加了加载检测;

第二种方法来自去年的12306刷票脚本。

第一种方法:

 

  1. function withjQuery(callback) { 
  2. if(!(window.jQuery)) { 
  3. var js = document.createElement('script'); 
  4. js.setAttribute('src''https://dynamic.12306.cn/otsweb/js/common/jquery-1.4.2.min.js?version=5.47'); 
  5. js.setAttribute('type''text/javascript'); 
  6. js.onload = js.onreadystatechange = function() { 
  7. if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') { 
  8. if(callback && typeof callback === "function") { 
  9. callback(); 
  10. js.onload = js.onreadystatechange = null
  11. }; 
  12. document.getElementsByTagName('head')[0].appendChild(js); 
  13. withjQuery(  
  14. function() {  
  15. $(function(){ alert("jQuery loaded"); })();  
  16. ); 

第二种方法:

 

 
  1. // ==UserScript==  
  2. // @name 12306 Booking Assistant 
  3. // @version 1.4.0 
  4. // @author zzdhidden@gmail.com 
  5. // @namespace https://github.com/zzdhidden 
  6. // @description 12306 订票助手之(自动登录,自动查票,自动订单) 
  7. // @include *://dynamic.12306.cn/otsweb/* 
  8. // @require https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 
  9. // ==/UserScript==  
  10. function withjQuery(callback, safe){ 
  11. if(typeof(jQuery) == "undefined") { 
  12. var script = document.createElement("script"); 
  13. script.type = "text/javascript"
  14. script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
  15. if(safe) { 
  16. var cb = document.createElement("script"); 
  17. cb.type = "text/javascript"
  18. cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery, window);"
  19. script.addEventListener('load'function() { 
  20. document.head.appendChild(cb); 
  21. }); 
  22. else { 
  23. var dollar = undefined; 
  24. if(typeof($) != "undefined") dollar = $; 
  25. script.addEventListener('load'function() { 
  26. jQuery.noConflict(); 
  27. $ = dollar; 
  28. callback(jQuery, window); 
  29. }); 
  30. document.head.appendChild(script); 
  31. else { 
  32. setTimeout(function() { 
  33. //Firefox supports 
  34. callback(jQuery, typeof unsafeWindow === "undefined" ? window : unsafeWindow); 
  35. }, 30); 
  36. withjQuery(function($, window){ 
  37. $(function() { alert("jQuery loaded"); })(); 
  38. }, true); 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选