Hello, I want to use Image as a loader in this AJAX script instead of a text "Please wait..." I tried replacing the text with "<img src="link"/>", but it didn't worked. I am using this script: http://javascript.internet.com/ajax/ajax-navigation2.html And one more question, is this method of Ajax Navigation is Cross Browser Friendly? I would be grateful if someone can give me the solution. Thanks /* Ultimater's edited version of: http://jibbering.com/2002/4/httprequest.html to serve IE7 with XMLHttpRequest instead of ActiveX */ var xmlhttp=false; if (!xmlhttp && typeof XMLHttpRequest!='undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } } /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. if (!xmlhttp){ try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } } @end @*/ if (!xmlhttp && window.createRequest) { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } } /* Ultimater's edited version of: http://javascript.internet.com/ajax/ajax-navigation.html */ var please_wait = "Please wait..."; function open_url(url, targetId) { if(!xmlhttp)return false; var e=document.getElementById(targetId);if(!e)return false; if(please_wait)e.innerHTML = please_wait; xmlhttp.open("GET", url, true); xmlhttp.onreadystatechange = function() { response(url, e); } try{ xmlhttp.send(null); }catch(l){ while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way e.appendChild(document.createTextNode("request failed")); } } function response(url, e) { if(xmlhttp.readyState != 4)return; var tmp= (xmlhttp.status == 200 || xmlhttp.status == 0) ? xmlhttp.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the following error code: " + xmlhttp.status+" "+xmlhttp.statusText; var d=document.createElement("div"); d.innerHTML=tmp; setTimeout(function(){ while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way e.appendChild(d); },10) } Code (markup):
You probably broke the code with double quotes? var please_wait = "<img src='http://www.domain.com/loading.gif' alt='Please wait...' />"; Code (markup):
No, I replaced var please_wait = "Please wait..."; Code (markup): with var please_wait = "<img src='http://www.domain.com/loading.gif' alt='Please wait...' />"; Code (markup): And it didn't worked.
That's weird. Could you link me to the page you're testing it? I'd like to test something with firebug.