diff options
author | Friendika <info@friendika.com> | 2011-05-13 01:02:32 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-05-13 01:02:32 -0700 |
commit | 4f920e5a6117c85d8b977196be2b2f22104999be (patch) | |
tree | 013784b57626b7258964d05a5d82fd2e37d26bf2 /addon/widgets/widgets.js | |
parent | c4f7c37835c95c5438d6a1f52084342bd3608556 (diff) | |
parent | 55fd53ecbd45e1ef28e576edc943cf11b9326cb5 (diff) | |
download | volse-hubzilla-4f920e5a6117c85d8b977196be2b2f22104999be.tar.gz volse-hubzilla-4f920e5a6117c85d8b977196be2b2f22104999be.tar.bz2 volse-hubzilla-4f920e5a6117c85d8b977196be2b2f22104999be.zip |
Merge pull request #101 from fabrixxm/widget
Widgets!
Diffstat (limited to 'addon/widgets/widgets.js')
-rw-r--r-- | addon/widgets/widgets.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/addon/widgets/widgets.js b/addon/widgets/widgets.js new file mode 100644 index 000000000..45d36c4d7 --- /dev/null +++ b/addon/widgets/widgets.js @@ -0,0 +1,64 @@ +/** + * @author Fabio Comuni + */ + +var f9a_widget_$widget_id = { + entrypoint : "$entrypoint", + key : "$key", + widgetid: "$widget_id", + argstr: "$args", + xmlhttp : null, + + getXHRObj : function(){ + if (window.XMLHttpRequest) { + // code for IE7+, Firefox, Chrome, Opera, Safari + this.xmlhttp = new XMLHttpRequest(); + } else { + // code for IE6, IE5 + this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } + }, + + dorequest : function(args, cb) { + if (args===null) args = new Array(); + args['k']=this.key; + args['s']=window.location; + args['a']=this.argstr; + var urlencodedargs = new Array(); + for(k in args){ urlencodedargs.push( encodeURIComponent(k)+"="+encodeURIComponent(args[k]) ); } + + var url = this.entrypoint + "?"+ urlencodedargs.join("&"); + + this.xmlhttp.open("GET", url ,true); + this.xmlhttp.send(); + this.xmlhttp.obj = this; + this.xmlhttp.onreadystatechange=function(){ + if (this.readyState==4){ + if (this.status==200) { + cb(this.obj, this.responseText); + } else { + document.getElementById(this.obj.widgetid).innerHTML="Error loading widget."; + } + } + } + + }, + + requestcb: function(obj, responseText) { + document.getElementById(obj.widgetid).innerHTML=responseText; + }, + + load : function (){ + this.getXHRObj(); + this.dorequest(null, this.requestcb); + } + +}; + +(function() { + f9a_widget_$widget_id.load(); +})(); + +document.writeln("<div id='$widget_id' class='f9k_widget'>"); +document.writeln("<img id='$widget_id_ld' src='$loader'>"); +document.writeln("</div>"); |