Advertisement
Ladies_Man

generate_feed (new)

Aug 19th, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function generate_feed(xml) {
  2.     var items = xml.getElementsByTagName("item");
  3.  
  4.     var doc = document.implementation.createHTMLDocument("New Document");
  5.     var i, el = doc.createElement('html');
  6.     el.innerHTML = "<html><head><title>ES CA</title></head><body></body></html>";
  7.    
  8.     var mark = 0;
  9.     for (i = 0; i < items.length; i++) {
  10.         var div = document.createElement("div");
  11.         div.className = "block";
  12.        
  13.         var inner_cat = document.createElement("div");
  14.         inner_cat.className = "cat";
  15.         inner_cat.innerHTML = $(items[i]).find("category").html();
  16.         div.appendChild(inner_cat);
  17.        
  18.         var inner_date = document.createElement("div");
  19.         inner_date.className = "date";
  20.         var pub_date = $(items[i]).find("pubDate").html();
  21.         var date = new Date(pub_date);
  22.         var months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
  23.         var string = date.getDate() + " " + months[date.getMonth()];
  24.         inner_date.innerHTML = string;
  25.        
  26.         div.appendChild(inner_date);
  27.        
  28.         var inner_img = document.createElement("img");
  29.         inner_img.className = "prev";
  30.         inner_img.id = $(items[i]).find("enclosure").attr('length');
  31.         inner_img.src = 'images/prev_load2_std.GIF';
  32.         inner_img.style.width = "64px";
  33.         inner_img.style.marginLeft = "148px";
  34.         var img_src = $(items[i]).find("enclosure").attr('url');
  35.        
  36.         var xhr = new XMLHttpRequest();
  37.         xhr.open('GET', img_src, true);
  38.         xhr.responseType = 'blob';
  39.         xhr.send();
  40.         xhr.onload = function(e) {
  41.             if (200 == this.status) {
  42.                 inner_img.src = window.URL.createObjectURL(this.response);
  43.                 console.log("XHR[" + mark + "]" + inner_img.src);
  44.                 var id = this.getResponseHeader('Content-Length').toString();
  45.                 document.getElementById(id).src = inner_img.src;
  46.                 document.getElementById(id).style.width = "160px";
  47.                 document.getElementById(id).style.marginLeft = "auto";
  48.             }
  49.         }
  50.         div.appendChild(inner_img);
  51.        
  52.         var inner_title = document.createElement("div");
  53.         inner_title.className = "tit";
  54.         inner_title.innerHTML = $(items[i]).find("title").html();
  55.         div.appendChild(inner_title);
  56.        
  57.         var inner_descr = document.createElement("div");
  58.         inner_descr.className = "dsc";
  59.         inner_descr.innerHTML = $(items[i]).find("description").html();
  60.         div.appendChild(inner_descr);
  61.        
  62.         var inner_br = document.createElement("br");
  63.         inner_descr.appendChild(inner_br);
  64.        
  65.         var inner_link = document.createElement("a");
  66.         inner_link.className = "lnk";
  67.         inner_link.href = $(items[i]).find("link").html();
  68.         if (-1 != inner_link.href.indexOf("game") || -1 != inner_link.href.indexOf("thrones") || -1 != inner_link.href.indexOf("prestol")) {
  69.             div.style.backgroundColor = "#FF9933";
  70.             inner_img.src = 'images/prev_load2_spec.GIF';
  71.         }
  72.         inner_link.target = "_blank";
  73.         inner_link.innerHTML = "Read more";
  74.         inner_descr.appendChild(inner_link);
  75.        
  76.        
  77.         el.getElementsByTagName('body')[0].appendChild(div);
  78.     }
  79.     console.log("mark:" + mark);
  80.    
  81.    
  82.     string = JSON.stringify(el.getElementsByTagName("body")[0].innerHTML);
  83.     string = string.replace(/<!--\[CDATA\[/g, '').replace(/\]\]-->/g, '');
  84.     console.log('stringified:' + string);
  85.     return string;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement