diff options
| author | Cqoicebordel <Cqoicebordel@users.noreply.github.com> | 2015-02-17 01:07:14 +0100 |
|---|---|---|
| committer | Cqoicebordel <Cqoicebordel@users.noreply.github.com> | 2015-02-17 01:07:14 +0100 |
| commit | e181041f11f612937299d440ccb090d3a78cf740 (patch) | |
| tree | 6cbd329785ac90ecec5787c1bc3bc0cae1afd733 /searx/static/themes/pix-art/js | |
| parent | d740e7384a95c6a7d80e5f492f4dd7edb312175e (diff) | |
Ajax loading + Tweaks of CSS
Diffstat (limited to 'searx/static/themes/pix-art/js')
| -rw-r--r-- | searx/static/themes/pix-art/js/searx.js | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/searx/static/themes/pix-art/js/searx.js b/searx/static/themes/pix-art/js/searx.js index 9be969bb3..b06243e36 100644 --- a/searx/static/themes/pix-art/js/searx.js +++ b/searx/static/themes/pix-art/js/searx.js @@ -47,3 +47,97 @@ if(searx.autocompleter) { })(window, document); +var xmlHttp + +function GetXmlHttpObject(){ + + var xmlHttp = null; + + try { + // Firefox, Opera 8.0+, Safari + xmlHttp = new XMLHttpRequest(); + } + catch (e) { + // Internet Explorer + try { + xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e){ + xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); + } + } + return xmlHttp; +} + +var timer; + +// Calculate the rating +function load_more(query,page){ + + xmlHttp = GetXmlHttpObject(); + clearTimeout(timer); + + if(xmlHttp == null){ + alert ("Your browser does not support AJAX!"); + return; + } + + favicons[page] = []; + + xmlHttp.onreadystatechange = function(){ + + var loader = document.getElementById('load_more'); + + if (xmlHttp.readyState == 4){ + + //loader.style.display = 'none'; + var res = xmlHttp.responseText; + + //loader.style.display = 'block'; + //loader.innerHTML = '<div class="voted">Vote pris en compte</div>'; + clearTimeout(timer); + timer = setTimeout(function(){},6000); + + var results = document.getElementById('results_list'); + //results_list.innerHTML += res; + var newNode = document.createElement('span'); + newNode.innerHTML = res; + results_list.appendChild(newNode); + + var scripts = newNode.getElementsByTagName('script'); + for (var ix = 0; ix < scripts.length; ix++) { + eval(scripts[ix].text); + } + + load_images(page); + document.getElementById("load_more").onclick = function() { load_more(query, (page+1)); } + loader.removeAttribute("disabled"); + + } else { + //loader.innerHTML = '<img src="images/rating_loading.gif" alt="loading" />'; + loader.disabled = 'disabled'; + } + } + var url = "/"; + var params = "q="+query+"&pageno="+page+"&category_general=1&category_files=1&category_images=1&category_it=1&category_map=1&category_music=1&category_news=1&category_social+media=1&category_videos=1"; + xmlHttp.open("POST",url,true); + xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + xmlHttp.setRequestHeader("Content-length", params.length); + xmlHttp.setRequestHeader("Connection", "close"); + xmlHttp.send(params); +} + +function load_images(page){ + var arrayLength = favicons[page].length; + for (var i = 1; i < arrayLength+1; i++) { + var img = new Image(); + img.setAttribute("i",i) + img.onload = function () { + var id = 'canvas-'+page+'-'+this.getAttribute("i"); + var can = document.getElementById(id); + var ctx = can.getContext("2d"); + ctx.drawImage(this, 0, 0, 16, 16); + }; + img.src = favicons[page][i]; + } +}
\ No newline at end of file |