dojo.provide("dojo.io.script"); /*===== dojo.declare("dojo.io.script.__ioArgs", dojo.__IoArgs, { constructor: function(){ // summary: // All the properties described in the dojo.__ioArgs type, apply to this // type as well, EXCEPT "handleAs". It is not applicable to // dojo.io.script.get() calls, since it is implied by the usage of // "callbackParamName" (response will be a JSONP call returning JSON) // or "checkString" (response is pure JavaScript defined in // the body of the script that was attached). // callbackParamName: String // The URL parameter name that indicates the JSONP callback string. // For instance, when using Yahoo JSONP calls it is normally, // callbackParamName: "callback". For AOL JSONP calls it is normally // callbackParamName: "c". // checkString: String // A string of JavaScript that when evaluated like so: // "typeof(" + checkString + ") != 'undefined'" // being true means that the script fetched has been loaded. // Do not use this if doing a JSONP type of call (use callbackParamName instead). // frameDoc: Document // The Document object for a child iframe. If this is passed in, the script // will be attached to that document. This can be helpful in some comet long-polling // scenarios with Firefox and Opera. this.callbackParamName = callbackParamName; this.checkString = checkString; this.frameDoc = frameDoc; } }); =====*/ dojo.io.script = { get: function(/*dojo.io.script.__ioArgs*/args){ // summary: // sends a get request using a dynamically created script tag. var dfd = this._makeScriptDeferred(args); var ioArgs = dfd.ioArgs; dojo._ioAddQueryToUrl(ioArgs); if(this._canAttach(ioArgs)){ this.attach(ioArgs.id, ioArgs.url, args.frameDoc); } dojo._ioWatch(dfd, this._validCheck, this._ioCheck, this._resHandle); return dfd; }, attach: function(/*String*/id, /*String*/url, /*Document?*/frameDocument){ // summary: // creates a new