Projekt

Allgemein

Profil

Herunterladen (1,71 KB) Statistiken
| Zweig: | Markierung: | Revision:
var namespace = (function() {
var namespace = function(nsString, callback) {
var nsParts = nsString.split(namespace.namespaceDelimiter);

var ns = namespace.root;

var len = nsParts.length;
for(var i=0; i<len; ++i)
{
if( !ns[nsParts[i]] )
ns[nsParts[i]] = {__namespaceAutoCreated: true};

ns = ns[nsParts[i]];
}

if( callback )
{
var nsExt = callback.call(ns, ns);

if( nsExt )
{
if( !ns )
ns = {};

for(var key in nsExt)
ns[key] = nsExt[key];
}

ns.__namespaceAutoCreated = false;
}
else if( namespace.loadNamespace && ns.__namespaceAutoCreated )
{
var url;

var len = namespace.namespaceLocations.length;
for(var i=0; i<len; ++i)
{
var entry = namespace.namespaceLocations[i];
if( nsString.indexOf(entry.namespace) === 0 )
{
url = entry.location;
break;
}
}

url += "/"+ nsString +".js";

jQuery.ajax({
url: url,
async: false,
dataType: "text",
success: function(res) {
eval(res);
/*
var script = window.document.createElement("script");
script.type = "text/javascript";
script.text = res;
window.document.body.appendChild(script);
*/
},
error: function(xhr, textStatus, errorThrown) {
alert(textStatus +": "+ errorThrown);
},
});
}

return ns;
};

return namespace;
})();

window.namespaceRoot = {};
namespace.root = window.namespaceRoot;
namespace.namespaceDelimiter = ".";
namespace.namespaceLocations = [{namespace: "", location: "js"}];
namespace.loadNamespace = true;
(52-52/60)