From 1354d17270961fff662d40f90521223f8fd0d73b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 14 Aug 2012 18:59:10 +0400 Subject: update dojo to 1.7.3 --- lib/dojo/domReady.js.uncompressed.js | 95 ++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 lib/dojo/domReady.js.uncompressed.js (limited to 'lib/dojo/domReady.js.uncompressed.js') diff --git a/lib/dojo/domReady.js.uncompressed.js b/lib/dojo/domReady.js.uncompressed.js new file mode 100644 index 000000000..bc0ea8b3c --- /dev/null +++ b/lib/dojo/domReady.js.uncompressed.js @@ -0,0 +1,95 @@ +define("dojo/domReady", ['./has'], function(has){ + var global = this, + doc = document, + readyStates = { 'loaded': 1, 'complete': 1 }, + fixReadyState = typeof doc.readyState != "string", + ready = !!readyStates[doc.readyState]; + + // For FF <= 3.5 + if(fixReadyState){ doc.readyState = "loading"; } + + if(!ready){ + var readyQ = [], tests = [], + detectReady = function(evt){ + evt = evt || global.event; + if(ready || (evt.type == "readystatechange" && !readyStates[doc.readyState])){ return; } + ready = 1; + + // For FF <= 3.5 + if(fixReadyState){ doc.readyState = "complete"; } + + while(readyQ.length){ + (readyQ.shift())(); + } + }, + on = function(node, event){ + node.addEventListener(event, detectReady, false); + readyQ.push(function(){ node.removeEventListener(event, detectReady, false); }); + }; + + if(!has("dom-addeventlistener")){ + on = function(node, event){ + event = "on" + event; + node.attachEvent(event, detectReady); + readyQ.push(function(){ node.detachEvent(event, detectReady); }); + }; + + var div = doc.createElement("div"); + try{ + if(div.doScroll && global.frameElement === null){ + // the doScroll test is only useful if we're in the top-most frame + tests.push(function(){ + // Derived with permission from Diego Perini's IEContentLoaded + // http://javascript.nwbox.com/IEContentLoaded/ + try{ + div.doScroll("left"); + return 1; + }catch(e){} + }); + } + }catch(e){} + } + + on(doc, "DOMContentLoaded"); + on(global, "load"); + + if("onreadystatechange" in doc){ + on(doc, "readystatechange"); + }else if(!fixReadyState){ + // if the ready state property exists and there's + // no readystatechange event, poll for the state + // to change + tests.push(function(){ + return readyStates[doc.readyState]; + }); + } + + if(tests.length){ + var poller = function(){ + if(ready){ return; } + var i = tests.length; + while(i--){ + if(tests[i]()){ + detectReady("poller"); + return; + } + } + setTimeout(poller, 30); + }; + poller(); + } + } + + function domReady(callback){ + if(ready){ + callback(1); + }else{ + readyQ.push(callback); + } + } + domReady.load = function(id, req, load){ + domReady(load); + }; + + return domReady; +}); -- cgit v1.2.3