首页 > 代码库 > jsonp的封装
jsonp的封装
(function(root){ root["jsonp"]=function(o){ if(typeof(o)!=="object") return; var url=o.url, callback=((typeof(o.callback)==="string")&&o.callback)||"callback", callbackfn=((typeof(o.callbackfn)==="string")&&o.callbackfn)||("myfn"+parseInt(new Date().getTime()*Math.random())), callbackdone=((typeof(o.callbackdone)==="function")&&o.callbackdone)||new Function, data=o.data, script=document.createElement("script"); url+=dealData(data); url+=(url.indexOf("?")>-1) ? "&" : "?"; url+=callback+"="+callbackfn+"&_="+new Date().getTime(); script.src=url; root[callbackfn]=function(){ var arg=arguments; if(root.navigator.userAgent.toLowerCase().indexOf("msie")>-1){ script.onreadystatechange=function(){ if(script.readyState=="loaded"||script.readyState=="complete"){ callbackdone.apply(null,arg); script.parentNode.removeChild(script); } } }else{ script.onload=function(){ callbackdone.apply(null,arg); script.parentNode.removeChild(script); } } } document.getElementsByTagName("head")[0].appendChild(script); function dealData(s){ if(s==undefined||s==""||s==null) return ""; if(typeof(s)=="string") return "?"+s; if(typeof(s)=="object"){ var x,newstr=""; for(var x in s){ newstr+= x+"="+s[x]+"&"; } return newstr=="" ? "" : "?"+newstr.substring(0,newstr.lastIndexOf("&")); } } }})(window)
jsonp的封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。