]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojo/_base/_loader/hostenv_browser.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojo / _base / _loader / hostenv_browser.js
diff --git a/static/dojo-release-1.1.1/dojo/_base/_loader/hostenv_browser.js b/static/dojo-release-1.1.1/dojo/_base/_loader/hostenv_browser.js
deleted file mode 100644 (file)
index f508830..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-/*=====
-dojo.isBrowser = {
-       //      example:
-       //      |       if(dojo.isBrowser){ ... }
-};
-
-dojo.isFF = {
-       //      example:
-       //      |       if(dojo.isFF > 1){ ... }
-};
-
-dojo.isIE = {
-       // example:
-       //      |       if(dojo.isIE > 6){
-       //      |               // we are IE7
-       //      |       }
-};
-
-dojo.isSafari = {
-       //      example:
-       //      |       if(dojo.isSafari){ ... }
-       //      example: 
-       //              Detect iPhone:
-       //      |       if(dojo.isSafari && (navigator.userAgent.indexOf("iPhone") < 0)){ 
-       //      |               // we are iPhone. iPod touch reports "iPod" above
-       //      |       }
-};
-
-dojo = {
-       // isBrowser: Boolean
-       //              True if the client is a web-browser
-       isBrowser: true,
-       //      isFF: Number
-       //              Greater than zero if client is FireFox. 0 otherwise. Corresponds to
-       //              major detected FireFox version (1.5, 2, 3, etc.)
-       isFF: 2,
-       //      isIE: Number
-       //              Greater than zero if client is MSIE(PC). 0 otherwise. Corresponds to
-       //              major detected IE version (6, 7, 8, etc.)
-       isIE: 6,
-       //      isKhtml: Number
-       //              Greater than zero if client is a KTHML-derived browser (Konqueror,
-       //              Safari, etc.). 0 otherwise. Corresponds to major detected version.
-       isKhtml: 0,
-       //      isMozilla: Number
-       //              Greater than zero if client is a Mozilla-based browser (Firefox,
-       //              SeaMonkey). 0 otherwise. Corresponds to major detected version.
-       isMozilla: 0,
-       //      isOpera: Number
-       //              Greater than zero if client is Opera. 0 otherwise. Corresponds to
-       //              major detected version.
-       isOpera: 0,
-       //      isSafari: Number
-       //              Greater than zero if client is Safari or iPhone. 0 otherwise.
-       isSafari: 0
-}
-=====*/
-
-if(typeof window != 'undefined'){
-       dojo.isBrowser = true;
-       dojo._name = "browser";
-
-
-       // attempt to figure out the path to dojo if it isn't set in the config
-       (function(){
-               var d = dojo;
-               // this is a scope protection closure. We set browser versions and grab
-               // the URL we were loaded from here.
-
-               // grab the node we were loaded from
-               if(document && document.getElementsByTagName){
-                       var scripts = document.getElementsByTagName("script");
-                       var rePkg = /dojo(\.xd)?\.js(\W|$)/i;
-                       for(var i = 0; i < scripts.length; i++){
-                               var src = scripts[i].getAttribute("src");
-                               if(!src){ continue; }
-                               var m = src.match(rePkg);
-                               if(m){
-                                       // find out where we came from
-                                       if(!d.config.baseUrl){
-                                               d.config.baseUrl = src.substring(0, m.index);
-                                       }
-                                       // and find out if we need to modify our behavior
-                                       var cfg = scripts[i].getAttribute("djConfig");
-                                       if(cfg){
-                                               var cfgo = eval("({ "+cfg+" })");
-                                               for(var x in cfgo){
-                                                       dojo.config[x] = cfgo[x];
-                                               }
-                                       }
-                                       break; // "first Dojo wins"
-                               }
-                       }
-               }
-               d.baseUrl = d.config.baseUrl;
-
-               // fill in the rendering support information in dojo.render.*
-               var n = navigator;
-               var dua = n.userAgent;
-               var dav = n.appVersion;
-               var tv = parseFloat(dav);
-
-               d.isOpera = (dua.indexOf("Opera") >= 0) ? tv : 0;
-               // safari detection derived from:
-               //              http://developer.apple.com/internet/safari/faq.html#anchor2
-               //              http://developer.apple.com/internet/safari/uamatrix.html
-               var idx = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0);
-               if(idx){
-                       // try to grab the explicit Safari version first. If we don't get
-                       // one, look for 419.3+ as the indication that we're on something
-                       // "Safari 3-ish". Lastly, default to "Safari 2" handling.
-                       d.isSafari = parseFloat(dav.split("Version/")[1]) || ( ( parseFloat(dav.substr(idx+7)) >= 419.3 ) ? 3 : 2 ) || 2;
-               }
-               d.isAIR = (dua.indexOf("AdobeAIR") >= 0) ? 1 : 0;
-               d.isKhtml = (dav.indexOf("Konqueror") >= 0 || d.isSafari) ? tv : 0;
-               d.isMozilla = d.isMoz = (dua.indexOf("Gecko") >= 0 && !d.isKhtml) ? tv : 0;
-               d.isFF = d.isIE = 0;
-               if(d.isMoz){
-                       d.isFF = parseFloat(dua.split("Firefox/")[1]) || 0;
-               }
-               if(document.all && !d.isOpera){
-                       d.isIE = parseFloat(dav.split("MSIE ")[1]) || 0;
-               }
-
-               //Workaround to get local file loads of dojo to work on IE 7
-               //by forcing to not use native xhr.
-               if(dojo.isIE && window.location.protocol === "file:"){
-                       dojo.config.ieForceActiveXXhr=true;
-               }
-
-               var cm = document.compatMode;
-               d.isQuirks = cm == "BackCompat" || cm == "QuirksMode" || d.isIE < 6;
-
-               // TODO: is the HTML LANG attribute relevant?
-               d.locale = dojo.config.locale || (d.isIE ? n.userLanguage : n.language).toLowerCase();
-
-               // These are in order of decreasing likelihood; this will change in time.
-               d._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];
-
-               d._xhrObj = function(){
-                       // summary: 
-                       //              does the work of portably generating a new XMLHTTPRequest
-                       //              object.
-                       var http = null;
-                       var last_e = null;
-                       if(!dojo.isIE || !dojo.config.ieForceActiveXXhr){
-                               try{ http = new XMLHttpRequest(); }catch(e){}
-                       }
-                       if(!http){
-                               for(var i=0; i<3; ++i){
-                                       var progid = d._XMLHTTP_PROGIDS[i];
-                                       try{
-                                               http = new ActiveXObject(progid);
-                                       }catch(e){
-                                               last_e = e;
-                                       }
-
-                                       if(http){
-                                               d._XMLHTTP_PROGIDS = [progid];  // so faster next time
-                                               break;
-                                       }
-                               }
-                       }
-
-                       if(!http){
-                               throw new Error("XMLHTTP not available: "+last_e);
-                       }
-
-                       return http; // XMLHTTPRequest instance
-               }
-
-               d._isDocumentOk = function(http){
-                       var stat = http.status || 0;
-                       return (stat >= 200 && stat < 300) ||   // Boolean
-                               stat == 304 ||                                          // allow any 2XX response code
-                               stat == 1223 ||                                                 // get it out of the cache
-                               (!stat && (location.protocol=="file:" || location.protocol=="chrome:") ); // Internet Explorer mangled the status code
-               }
-
-               //See if base tag is in use.
-               //This is to fix http://trac.dojotoolkit.org/ticket/3973,
-               //but really, we need to find out how to get rid of the dojo._Url reference
-               //below and still have DOH work with the dojo.i18n test following some other
-               //test that uses the test frame to load a document (trac #2757).
-               //Opera still has problems, but perhaps a larger issue of base tag support
-               //with XHR requests (hasBase is true, but the request is still made to document
-               //path, not base path).
-               var owloc = window.location+"";
-               var base = document.getElementsByTagName("base");
-               var hasBase = (base && base.length > 0);
-
-               d._getText = function(/*URI*/ uri, /*Boolean*/ fail_ok){
-                       // summary: Read the contents of the specified uri and return those contents.
-                       // uri:
-                       //              A relative or absolute uri. If absolute, it still must be in
-                       //              the same "domain" as we are.
-                       // fail_ok:
-                       //              Default false. If fail_ok and loading fails, return null
-                       //              instead of throwing.
-                       // returns: The response text. null is returned when there is a
-                       //              failure and failure is okay (an exception otherwise)
-
-                       // alert("_getText: " + uri);
-
-                       // NOTE: must be declared before scope switches ie. this._xhrObj()
-                       var http = this._xhrObj();
-
-                       if(!hasBase && dojo._Url){
-                               uri = (new dojo._Url(owloc, uri)).toString();
-                       }
-                       /*
-                       console.debug("_getText:", uri);
-                       console.debug(window.location+"");
-                       alert(uri);
-                       */
-
-                       if(d.config.cacheBust){
-                               uri += (uri.indexOf("?") == -1 ? "?" : "&") + String(d.config.cacheBust).replace(/\W+/g,"");
-                       }
-
-                       http.open('GET', uri, false);
-                       try{
-                               http.send(null);
-                               // alert(http);
-                               if(!d._isDocumentOk(http)){
-                                       var err = Error("Unable to load "+uri+" status:"+ http.status);
-                                       err.status = http.status;
-                                       err.responseText = http.responseText;
-                                       throw err;
-                               }
-                       }catch(e){
-                               if(fail_ok){ return null; } // null
-                               // rethrow the exception
-                               throw e;
-                       }
-                       return http.responseText; // String
-               }
-       })();
-
-       dojo._initFired = false;
-       //      BEGIN DOMContentLoaded, from Dean Edwards (http://dean.edwards.name/weblog/2006/06/again/)
-       dojo._loadInit = function(e){
-               dojo._initFired = true;
-               // allow multiple calls, only first one will take effect
-               // A bug in khtml calls events callbacks for document for event which isnt supported
-               // for example a created contextmenu event calls DOMContentLoaded, workaround
-               var type = (e && e.type) ? e.type.toLowerCase() : "load";
-               if(arguments.callee.initialized || (type != "domcontentloaded" && type != "load")){ return; }
-               arguments.callee.initialized = true;
-               if("_khtmlTimer" in dojo){
-                       clearInterval(dojo._khtmlTimer);
-                       delete dojo._khtmlTimer;
-               }
-
-               if(dojo._inFlightCount == 0){
-                       dojo._modulesLoaded();
-               }
-       }
-
-       dojo._fakeLoadInit = function(){
-               dojo._loadInit({type: "load"});
-       }
-
-       if(!dojo.config.afterOnLoad){
-               //      START DOMContentLoaded
-               // Mozilla and Opera 9 expose the event we could use
-               if(document.addEventListener){
-                       // NOTE: 
-                       //              due to a threading issue in Firefox 2.0, we can't enable
-                       //              DOMContentLoaded on that platform. For more information, see:
-                       //              http://trac.dojotoolkit.org/ticket/1704
-                       if(dojo.isOpera || dojo.isFF >= 3 || (dojo.isMoz && dojo.config.enableMozDomContentLoaded === true)){
-                               document.addEventListener("DOMContentLoaded", dojo._loadInit, null);
-                       }
-       
-                       //      mainly for Opera 8.5, won't be fired if DOMContentLoaded fired already.
-                       //  also used for Mozilla because of trac #1640
-                       window.addEventListener("load", dojo._loadInit, null);
-               }
-       
-               if(dojo.isAIR){
-                       window.addEventListener("load", dojo._loadInit, null);
-               }else if(/(WebKit|khtml)/i.test(navigator.userAgent)){ // sniff
-                       dojo._khtmlTimer = setInterval(function(){
-                               if(/loaded|complete/.test(document.readyState)){
-                                       dojo._loadInit(); // call the onload handler
-                               }
-                       }, 10);
-               }
-               //      END DOMContentLoaded
-       }
-
-       (function(){
-               var _w = window;
-               var _handleNodeEvent = function(/*String*/evtName, /*Function*/fp){
-                       // summary:
-                       //              non-destructively adds the specified function to the node's
-                       //              evtName handler.
-                       // evtName: should be in the form "onclick" for "onclick" handlers.
-                       // Make sure you pass in the "on" part.
-                       var oldHandler = _w[evtName] || function(){};
-                       _w[evtName] = function(){
-                               fp.apply(_w, arguments);
-                               oldHandler.apply(_w, arguments);
-                       };
-               };
-
-               if(dojo.isIE){
-                       //      for Internet Explorer. readyState will not be achieved on init
-                       //      call, but dojo doesn't need it however, we'll include it
-                       //      because we don't know if there are other functions added that
-                       //      might.  Note that this has changed because the build process
-                       //      strips all comments -- including conditional ones.
-                       if(!dojo.config.afterOnLoad){
-                               document.write('<scr'+'ipt defer src="//:" '
-                                       + 'onreadystatechange="if(this.readyState==\'complete\'){' + dojo._scopeName + '._loadInit();}">'
-                                       + '</scr'+'ipt>'
-                               );
-                       }
-
-                       // IE WebControl hosted in an application can fire "beforeunload" and "unload"
-                       // events when control visibility changes, causing Dojo to unload too soon. The
-                       // following code fixes the problem
-                       // Reference: http://support.microsoft.com/default.aspx?scid=kb;en-us;199155
-                       var _unloading = true;
-                       _handleNodeEvent("onbeforeunload", function(){
-                               _w.setTimeout(function(){ _unloading = false; }, 0);
-                       });
-                       _handleNodeEvent("onunload", function(){
-                               if(_unloading){ dojo.unloaded(); }
-                       });
-
-                       try{
-                               document.namespaces.add("v","urn:schemas-microsoft-com:vml");
-                               document.createStyleSheet().addRule("v\\:*", "behavior:url(#default#VML)");
-                       }catch(e){}
-               }else{
-                       // FIXME: dojo.unloaded requires dojo scope, so using anon function wrapper.
-                       _handleNodeEvent("onbeforeunload", function() { dojo.unloaded(); });
-               }
-
-       })();
-
-       /*
-       OpenAjax.subscribe("OpenAjax", "onload", function(){
-               if(dojo._inFlightCount == 0){
-                       dojo._modulesLoaded();
-               }
-       });
-
-       OpenAjax.subscribe("OpenAjax", "onunload", function(){
-               dojo.unloaded();
-       });
-       */
-} //if (typeof window != 'undefined')
-
-//Register any module paths set up in djConfig. Need to do this
-//in the hostenvs since hostenv_browser can read djConfig from a
-//script tag's attribute.
-(function(){
-       var mp = dojo.config["modulePaths"];
-       if(mp){
-               for(var param in mp){
-                       dojo.registerModulePath(param, mp[param]);
-               }
-       }
-})();
-
-//Load debug code if necessary.
-if(dojo.config.isDebug){
-       dojo.require("dojo._firebug.firebug");
-}
-
-if(dojo.config.debugAtAllCosts){
-       dojo.config.useXDomain = true;
-       dojo.require("dojo._base._loader.loader_xd");
-       dojo.require("dojo._base._loader.loader_debug");
-       dojo.require("dojo.i18n");
-}