]> git.mxchange.org Git - friendica-addons.git/blobdiff - widgets/widgets.js
Use iframe for crossite loading instead of CORS header
[friendica-addons.git] / widgets / widgets.js
index 45d36c4d7d184aa120ea6e001a3ec59856e45bfc..f7b7ac9e9aa39955cea0fcd9ae2b8175d2972dff 100644 (file)
@@ -1,64 +1,37 @@
 /**
  * @author Fabio Comuni
  */
-
 var f9a_widget_$widget_id = {
+       width: "$width",
+       height: "$height",
        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();
+
+       load : function() {
+               var args = new Array();
                args['k']=this.key;
-               args['s']=window.location;
+               args['s']=window.location.href;
                args['a']=this.argstr;
                var urlencodedargs = new Array();
-               for(k in args){ urlencodedargs.push( encodeURIComponent(k)+"="+encodeURIComponent(args[k]) ); }
-       
+               for(k in args){ 
+                       if (typeof args[k] != 'function')
+                               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);
+               console.log(this.widgetid);
+               console.log(document.getElementById(this.widgetid));
+               document.getElementById(this.widgetid).innerHTML = '<iframe style="border:0px; width: '+this.width+'; height:'+this.height+'" src="'+url+'"></iframe>';
        }
 
 };
 
+document.writeln("<div id='$widget_id' class='f9k_widget $type'>");
+document.writeln("<img id='$widget_id_ld' src='$loader'>");
+document.writeln("</div>");
 (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>");