Changeset 264 for lang/javascript/misc

Show
Ignore:
Timestamp:
09/23/07 20:48:05 (7 years ago)
Author:
holidays-l
Message:

lang/javascript/misc/loader.js.inc: Fixed something.
lang/javascript/misc/loader-min.js.inc: Fixed something.

Location:
lang/javascript/misc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/misc/loader-min.js.inc

    r243 r264  
    1 (function(o){var f;function d(s){var e=document.createElement('script');e.src=s;document.body.appendChild(e)}function g(){var m=o.shift(),p,t;if(!m)return f&&f();if(typeof m=='string'||m instanceof String)return g(d(m));for(p in m){try{eval(p+'.toString')}catch(x){d(m[p])}}t=setInterval(function(){for(var p in m){try{eval(p+'.toString')}catch(x){return}}clearInterval(t);g();return},99)}g();return function(c){return function(){var a=arguments;f=function(){c.apply(null,a)}}}}) 
     1(function(l){var f,m,p,e,t;(function g(){m=l.shift();if(!m)return f&&f();if(typeof m=='string'||m instanceof String)m={window:m};for(p in m){if(p=='window'||eval('typeof '+p)=='undefined'){e=document.createElement('script');e.type='text/javascript';e.src=m[p];document.documentElement.appendChild(e)}}t=setInterval(function(){for(p in m){if(eval('typeof '+p)=='undefined')return}clearInterval(t);g()},99)})();return function(c){return function(){var a=arguments;f=function(){c.apply(c, a)}}}}) 
  • lang/javascript/misc/loader.js.inc

    r245 r264  
    11(function(entries) { 
    2     function isString(obj) { 
    3         return (typeof obj == 'string' || obj instanceof String); 
     2    function defined(prop) { 
     3        try{ 
     4            return eval('typeof ' + prop) != "undefined"; 
     5        } catch(e) { 
     6        } 
     7        return false; 
    48    } 
    59 
    6     function hasLoaded(prop) { 
    7         try{ 
    8             return eval(prop + '.toString'); 
    9         } catch(e) { 
    10         } 
    11     } 
    12  
    13     function load(src) { 
     10    function loadScript(src) { 
    1411        var script = document.createElement('script'); 
    1512        script.type = 'text/javascript'; 
    16         script.charset = 'UTF-8'; 
    1713        script.src = src; 
    1814        (document.body || document.documentElement).appendChild(script); 
     
    2016 
    2117    var onComplete; 
    22     (function doEntry() { 
     18    (function doNextEntry() { 
    2319        var entry = entries.shift(); 
    2420        if (!entry) { 
    25             if (onComplete) { 
    26                 onComplete(); 
    27             } 
    28             return; 
     21            return onComplete && onComplete(); 
    2922        } 
    3023 
    31         if (isString(entry)) { 
    32             load(entry); 
    33             doEntry(); 
    34             return; 
     24        if (typeof entry == 'string' || entry instanceof String) { 
     25            entry = {'window':entry}; 
    3526        } 
    36  
    3727        for (var prop in entry) { 
    38             if (!hasLoaded(prop)) { 
    39                 load(entry[prop]); 
     28            if (prop == 'window' || !defined(prop)) { 
     29                loadScript(entry[prop]); 
    4030            } 
    4131        } 
    4232        var timer = setInterval(function() { 
    4333            for (var prop in entry) { 
    44                 if (!hasLoaded(prop)) { 
     34                if (!defined(prop)) { 
    4535                    return; 
    4636                } 
    4737            } 
    4838            clearInterval(timer); 
    49             doEntry(); 
     39            doNextEntry(); 
    5040        }, 99); 
    5141    })(); 
     
    5545            var args = arguments; 
    5646            onComplete = function() { 
    57                 callback.apply(null, args); 
     47                callback.apply(callback, args); 
    5848            }; 
    5949        }