script.js
2.01 KB
//>>built
define("module ./watch ./util ../_base/kernel ../_base/array ../_base/lang ../on ../dom ../dom-construct ../has ../_base/window".split(" "),function(m,p,h,q,r,t,n,u,v,E,w){function x(a,b){a.canDelete&&f._remove(a.id,b.options.frameDoc,!0)}function y(a){g&&g.length&&(r.forEach(g,function(a){f._remove(a.id,a.frameDoc);a.frameDoc=null}),g=[]);return a.options.jsonp?!a.data:!0}function z(a){return!!this.scriptLoaded}function A(a){return(a=a.options.checkString)&&eval("typeof("+a+') !\x3d\x3d "undefined"')}
function B(a,b){if(this.canDelete){var d=this.response.options;g.push({id:this.id,frameDoc:d.ioArgs?d.ioArgs.frameDoc:d.frameDoc});d.ioArgs&&(d.ioArgs.frameDoc=null);d.frameDoc=null}b?this.reject(b):this.resolve(a)}function f(a,b,d){var e=h.parseArgs(a,h.deepCopy({},b));a=e.url;b=e.options;var c=h.deferred(e,x,y,b.jsonp?null:b.checkString?A:z,B);t.mixin(c,{id:l+C++,canDelete:!1});b.jsonp&&((new RegExp("[?\x26]"+b.jsonp+"\x3d")).test(a)||(a+=(~a.indexOf("?")?"\x26":"?")+b.jsonp+"\x3d"+(b.frameDoc?
"parent.":"")+l+"_callbacks."+c.id),c.canDelete=!0,k[c.id]=function(a){e.data=a;c.handleResponse(e)});h.notify&&h.notify.emit("send",e,c.promise.cancel);if(!b.canAttach||b.canAttach(c)){var g=f._attach(c.id,a,b.frameDoc,function(a){if(!(a instanceof Error)){var d=Error("Error loading "+(a.target?a.target.src:"script"));d.source=a;a=d}c.reject(a);f._remove(c.id,b.frameDoc,!0)});if(!b.jsonp&&!b.checkString)var m=n(g,"readystatechange",function(a){if("load"===a.type||D.test(g.readyState))m.remove(),
c.scriptLoaded=a})}p(c);return d?c:c.promise}var l=m.id.replace(/[\/\.\-]/g,"_"),C=0,D=/complete|loaded/,k=q.global[l+"_callbacks"]={},g=[];f.get=f;f._attach=function(a,b,d,e){d=d||w.doc;var c=d.createElement("script");if(e)n.once(c,"error",e);c.type="text/javascript";try{c.src=b}catch(F){e&&e(c)}c.id=a;c.async=!0;c.charset="utf-8";return d.getElementsByTagName("head")[0].appendChild(c)};f._remove=function(a,b,d){v.destroy(u.byId(a,b));k[a]&&(d?k[a]=function(){delete k[a]}:delete k[a])};f._callbacksProperty=
l+"_callbacks";return f});