基于jQuery动态加载JS与CSS文件的扩展方法

作者:像素猫时间:2026-10-29 16:04:27浏览:305

本文介绍如何利用jQuery扩展方法动态加载JavaScript和CSS文件。通过定义[[wp:a0]]中的include函数,可批量或单独加载资源,自动识别文件类型并生成对应的script或link标签,避免重复加载,适用于需要按需加载样式的场景。

jQuery动态加载资源方案概述

当项目中存在大量关联的CSS文件,或需要根据特定条件动态加载不同样式表时,以下提供的解决方案能够有效简化这一过程。

基于jQuery的JS与CSS动态加载扩展实现

核心扩展代码实现


$.extend({ 
   includePath: '', 
   include: function(file) { 
    var files = typeof file == "string" ? [file]:file; 
    for (var i = 0; i < files.length; i++) { 
      var name = files[i].replace(/^\s|\s$/g, ""); 
      var att = name.split('.'); 
      var ext = att[att.length - 1].toLowerCase(); 
      var isCSS = ext == "css"; 
      var tag = isCSS ? "link" : "script"; 
      var attr = isCSS ? " type='text/css' rel='stylesheet' " : " language='javascript' type='text/javascript' "; 
      var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'"; 
      if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + "></" + tag + ">"); 
    } 
  } 
}); 

具体调用方式如下:

标准调用示例


$.include('//www.jb51.net/include/dedeajax.js'); 
$.include('//www.jb51.net/templets/skins/style/android.css'); 

另一种调用示例:

自定义路径调用示例


$.includePath='www.jb51.net/html/'; 
$.include([dedeajax.js','android.css']); 

上述内容涵盖了本文的核心知识点,期望能为读者的技术学习提供实际帮助。

作者最新文章