document.addEventListener('DOMContentLoaded', function () { main(); }); function getxml(url) { var xhttp = new XMLHttpRequest(); xhttp.open("GET", url, false); xhttp.send(null); return xhttp.responseXML; } function xhrxml(url, cb) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'document'; xhr.overrideMimeType('text/xml'); xhr.onload = function () { if (xhr.readyState === xhr.DONE) { if (xhr.status === 200) { cb(xhr.responseXML); } } }; xhr.send(null); } function applyxsl(xmlin, xsl, node) { var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); var fragment = xsltProcessor.transformToFragment(xmlin, document); node.appendChild(fragment); } function formatdescriptions() { // unescapes descriptions to html var tohtml = document.getElementsByClassName("feedEntryContent"); for (var i = 0; i 0) i = Math.floor( Math.log(size) / Math.log(1024) ); return ( size / Math.pow(1024, i) ).toFixed(2) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]; }; var encsz = document.getElementsByClassName("enclosureSize"); for (var i = 0; iFeed URL'; } function main() { var query_string = location.search.substring(1).split("&"); var feed_url = decodeURIComponent(query_string[0]); xhrxml(feed_url, function(feed_xml) { xhrxml(chrome.extension.getURL("rss.xsl"), function(xsl_xml) { applyxsl(feed_xml, xsl_xml, document.getElementById("feedBody")); removeemptyenclosures(); formatdescriptions(); formatfilenames(); formatfilesizes(); addfeedurl(feed_url); document.title = "RSSPreview: " + document.getElementById("feedTitleText").innerText; }); }); }