`
soleegn
  • 浏览: 147451 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多
今天无意间看到Scriptaculous项目,大概留意了以下他的加载器。

    此项目一共有5个JS文件,当要用此项目到自己的项目中时只需要:

<script src="javascripts/prototype.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.js" type="text/javascript"></script>

就可以引入其他的四个JS了,这里的prototype.js并非必备,如果哦只需要某一个js被引入则可以使用:

<script src="scriptaculous.js?load=effects,dragdrop" type="text/javascript"></script>
是不是很好的功能?自己实现一个加载器就省去在页面上大量的引入JS的工作了,现在让我们再看看它的原理
var Scriptaculous = ...{
  Version: 
'1.6.5',
  require: 
function(libraryName) ...{
    
// inserting via DOM fails in Safari 2.0, so brute force approach
    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
  }
,
  load: 
function() ...{
    
if((typeof Prototype=='undefined'|| 
       (
typeof Element == 'undefined'|| 
       (
typeof Element.Methods=='undefined'||
       parseFloat(Prototype.Version.split(
".")[0+ "." +
                  Prototype.Version.split(
".")[1]) < 1.5)
       
throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");
    
    $A(document.getElementsByTagName(
"script")).findAll( function(s) ...{
      
return (s.src && s.src.match(/scriptaculous.js(?.*)?$/))
    }
).each( function(s) ...{
      
var path = s.src.replace(/scriptaculous.js(?.*)?$/,'');
      
var includes = s.src.match(/?.*load=([a-z,]*)/);
      (includes 
? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
       
function(include) ...{ Scriptaculous.require(path+include+'.js') });
    }
);
  }

}


Scriptaculous.load();

一共就两个方法,load()判断加入的JS是什么目录下的什么文件,以及有没有prototype.js和他的版本;require()直接调用document.write()朝页面追加JS的引入代码。自己写加载器的时候只需要修改load()方法,加入自己的规则以及文件名称,其他的都不需要修改,这样就可以在页面上省去大量代码了
分享到:
评论

相关推荐

    scriptjs异步JavaScript加载器和依赖管理器

    **script.js:异步JavaScript加载器与依赖管理器详解** 在Web开发中,JavaScript的异步加载和依赖管理是优化页面性能的关键因素。`script.js`是一个轻量级且功能强大的工具,它允许开发者实现异步加载JavaScript...

    IE8JavaScript加载器LittleLoader.zip

    Little Loader 是一个轻量级的、IE8 JavaScript 加载器特点:脚本加载后可靠回调非常非常小 标签:Little

    loadrunner, 浏览器的简单,灵活,灵活的JavaScript加载器和构建工具.zip

    loadrunner, 浏览器的简单,灵活,灵活的JavaScript加载器和构建工具 Loadrunner是一个JavaScript依赖管理器。to开始作为我的科学项目脚本加载器和 MODULE 系统,但它转换为一般依赖项管理器来管理从CSS模板到DOM...

    asyncjs:稍微不同的 JavaScript 加载器和依赖管理器

    asyncJS - 稍微不同的 JavaScript 加载器和依赖管理器 asyncJS是一个稍微不同的 JavaScript 加载器和浏览器依赖管理器。 与许多其他脚本加载器不同,asyncJS 可以异步加载内联函数和脚本字符串以及外部 JavaScript ...

    JavaScript编辑器有提示

    在编程过程中,一个具备良好提示功能的JavaScript编辑器能极大地提高开发效率和代码质量。本文将深入探讨JavaScript编辑器和它们的提示功能。 一、JavaScript编辑器的重要性 1. 提高编程效率:具有智能提示的编辑...

    pinf-for-jquery:用于 jQuery 的 PINF JavaScript 加载器

    用于 jQuery 的 PINF JavaScript 加载器 用于加载。 安装 npm install pinf-for-jquery 用法 http://localhost/index.html [removed][removed] [removed][removed] [removed] $.pinf.sandbox("bundle.js", ...

    stan-loader:一个非常简单的非渲染阻塞 javascript 加载器,它将按顺序加载一组库,然后在加载或错误时执行回调函数

    一个非常简单的非渲染阻塞 javascript 加载器,它将按顺序加载一组库,然后在加载或错误时执行回调函数。 将允许在 、 、 和上获得更高的分数。 它是什么/它是如何工作的 STAN Loader 是一个接受四个参数的函数; ...

    加载JavaScript脚本的包

    在Java 8之前,Java提供了Nashorn JavaScript引擎,这是一个内置的JavaScript解释器,允许Java应用程序直接执行JavaScript代码。通过`javax.script`包中的接口,如`ScriptEngineManager`和`ScriptEngine`,开发者...

    JavaScript模块加载器lodJS.zip

    JavaScript模块加载器,基于AMD。迄今为止,对AMD理解最好的实现。100%支持AMD规范,支持模块化开发,当定义好模块后,便可使用模块,无需维护依赖的模块,仅需写好依赖就可以了,lodJS会负责依赖注入。特性:模块化...

    我的js模块加载器

    自己写的javascript模块加载器 里面有清楚的注释

    Javascript解释器在ECMAScript中运行Javascript代码

    当我们在浏览器中加载一个包含JavaScript的网页时,浏览器中的JavaScript引擎(如Chrome的V8引擎)会接收到源代码。这个引擎包含一个JavaScript解释器,它的主要任务是解析和执行这些代码。 1. **词法分析(Lexical...

    HTML,JAVASCRIPT代码编辑器

    例如,你可以输入HTML结构,然后添加JavaScript代码来改变某个元素的颜色或者动态加载内容,实时查看结果。 从压缩包中的文件名来看,`code.htm`可能是编辑器的主要界面,包含HTML框架和JavaScript代码以实现编辑和...

    javascript 加载特效

    JavaScript加载特效是网页开发中常用的一种技术,用于在页面内容完全加载之前向用户展示一个反馈效果,提升用户体验。这些特效通常包括动态加载指示器、旋转图标、进度条等,它们可以传达给用户一种正在处理的感觉,...

    JavaScript检查器和优化器.zip

    在JavaScript的世界里,优化代码对于提高页面加载速度、减少内存消耗以及改善用户体验至关重要。 首先,我们来了解JavaScript检查器。JavaScript检查器,也称为调试器,是开发工具的一部分,它允许程序员检查和调试...

    RequireJS一个JavaScript文件和模块加载器

    RequireJS 是一个JavaScript库,它的主要功能是作为一个模块管理和加载器。在JavaScript的世界里,由于其天然的异步性质,管理多个脚本文件的依赖关系往往变得复杂且困难。RequireJS 为此提供了解决方案,它引入了...

    ArcGIS API for JavaScript加载百度地图代码

    在IT行业中,ArcGIS API for JavaScript是一个广泛使用的地理信息系统(GIS)开发工具,...通过不断学习和实践,你可以熟练掌握ArcGIS API for JavaScript加载百度地图的技术,为用户提供更丰富、更个性化的地图应用。

    基于ArcGIS API for JavaScript加载天地图

    以上就是使用ArcGIS API for JavaScript加载天地图的基本流程。通过这种方式,我们可以将天地图集成到Web应用中,为用户提供中国本土的地理信息展示。同时,利用ArcGIS API的丰富功能,可以进一步实现地图标记、测量...

    JavaScript解析器用于ES6的压缩器优化器和美化工具包

    为了优化性能,JavaScript社区开发了一系列工具,其中就包括"JavaScript解析器用于ES6的压缩器/优化器和美化工具包"。 这个工具包的核心目标是对使用ES6语法的JavaScript代码进行压缩、优化和美化。压缩是通过消除...

    JavaScript模块加载器DefineJS.zip

    DefineJS 是一个轻量级的异步模块定义 AMD 的实现,是一个 JavaScript 的模块加载器。 支持的浏览器包括: Google Chrome (latest) Opera (latest) Firefox 4 Safari 5 Internet Explorer 8 标签...

    javascript压缩器软件版

    JavaScript压缩器则是针对JavaScript源代码的一种工具,旨在减少代码大小,从而提高网页加载速度,节省带宽,并优化用户访问体验。软件版的JavaScript压缩器通常以图形用户界面(GUI)的形式提供,便于非技术用户...

Global site tag (gtag.js) - Google Analytics