Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function xdrJsonp(url, a, b){
- var options, fn;
- if (typeof a === 'function') {
- fn = a; options = {};
- } else if (typeof a === 'object' && a.constructor.toString().slice(9, 17) === "Object()") {
- options = a;
- if (typeof b !== 'function') {
- throw Error("xdrJsonp: jsonp callback expected!!!");
- }
- fn = b;
- } else {
- throw Error("xdrJsonp: illegal arguments!!!");
- }
- var proxy = options.proxy || xdrJsonp.PROXY;
- var format = options.format || "json";
- var call = "call_"+ (new Date).getTime().toString().slice(0,-3)+Math.random().toString().replace(/\./g,"");
- var headID = document.getElementsByTagName("head")[0];
- var script = document.createElement('script');
- script.id = call;
- script.type = 'text/javascript';
- xdrJsonp.callbacks[script.id] = fn;
- var query = {
- "url": url, "format":format, "callback":"xdrJsonp.invokeById('"+script.id+"')"
- };
- var temp = [];
- for (var i in query) temp.push(i + '=' + encodeURIComponent(query[i]));
- script.src = proxy + '?' + temp.join('&');
- headID.appendChild(script);
- }
- xdrJsonp.PROXY = "http://127.0.0.1:8898/";
- xdrJsonp.callbacks = {};
- xdrJsonp.invokeById = function(id){
- var e = document.getElementById(id);
- var t = xdrJsonp.callbacks[id];
- e.parentNode.removeChild(e);
- delete xdrJsonp.callbacks[id];
- return t;
- };
Advertisement
Add Comment
Please, Sign In to add comment