未知
未知

软件简介

A jQuery plugin to lazy load other plugins. Small and easy to use.

To register a plugin:

var plugin = $.plugin.register( url_of_the_file, names_to_register, settings
);
or
var plugin = new $.plugin( url_of_the_file, names_to_register, settings );

names_to_register is a hash in this form:
{
$:’foo’,
fn:[‘foo’,’bar’]
}

That means the plugin will register(once loaded): $.foo, $.fn.foo and
$.fn.bar.
For now, you can only register to those 2 namespaces. You can use 1 string or
an array of names.

settings is an optional hash with these options:
{
cache:boolean, //default is true, use false to avoid caching
id:’some_name’, //an id for the script, only necessary if another requires it
require:[ ‘some_name’, ‘some_other_name’ ], //ids of the plugins required
sync:boolean //must be loaded sync ? false by default, use it if the call
modifies the ‘this’
}

Once a call to the plugin is done, the plugin will be loaded, that call will
be taken into account and you can even use chaining with this fake call. so
$(‘a’).foo().bar() will work perfectly.

The plugin objects have methods( queue, add, check, load, preload, etc ) will
explain them soon(sorry).
One useful data stored in the object is plugin.url, which contains the src of
the plugin.

You can use bind/unbind/trigger on the plugin objects, and $.plugin itself for
global calls.
When a plugin starts loading, the event ‘loading’ is triggered, it receives
the plugin object as 2nd argument.
When finally loaded, the event ‘loaded’ is triggered.

Example

//registers $.scrollTo and $.fn.scrollTo $.plugin.register('scrollTo.js',{$:'scrollTo', fn:'scrollTo'},{ id:'ST'}); //registers $.localScroll and $.fn.localScroll, needs ScrollTo first $.plugin.register('localScroll.js', {$:'localScroll', fn:'localScroll'},{require:'ST'});

And that’s it, you can safely call scrollTo or LocalScroll whenever you want,
and then, and only then, the plugin will be requested.

Known issues:
-Remote scripts cannot be sync (jQuery limitation).
-Mixing remote and local plugins in a chain seems to cause problems sometimes.