Archive

Posts Tagged ‘Ajax’

Dynamic Ajax Content

March 25, 2010 Leave a comment

This script uses Ajax to enable you to load external pages into a DIV without having to reload the browser or use IFRAMES. If your external pages reference any external .css or .js files for styling, this script can also load and apply them to the page on demand.

Step 1: Insert the below script into the JabvaScrip tag of the HEAD section of your page:

(here i created an test.html)

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)

var loadedobjects=”"

var rootdomain=”http://”+window.location.hostname

var bustcacheparameter=”"

function ajaxpage(url, containerid){

var page_request = false

if (window.XMLHttpRequest) // if Mozilla, Safari etc

page_request = new XMLHttpRequest()

else if (window.ActiveXObject){ // if IE

try {

page_request = new ActiveXObject(“Msxml2.XMLHTTP”)

}

catch (e){

try{

page_request = new ActiveXObject(“Microsoft.XMLHTTP”)

}

catch (e){}

}

}

else

return false

page_request.onreadystatechange=function(){

loadpage(page_request, containerid)

}

if (bustcachevar) //if bust caching of external page

bustcacheparameter=(url.indexOf(“?”)!=-1)? “&”+new Date().getTime() : “?”+new Date().getTime()

page_request.open(‘GET’, url+bustcacheparameter, true)

page_request.send(null)

}

function loadpage(page_request, containerid){

if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf(“http”)==-1))

document.getElementById(containerid).innerHTML=page_request.responseText

}

function loadobjs(){

if (!document.getElementById)

return

for (i=0; i

var file=arguments[i]

var fileref=”"

if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding

if (file.indexOf(“.js”)!=-1){ //If object is a js file

fileref=document.createElement(‘script’)

fileref.setAttribute(“type”,”text/javascript”);

fileref.setAttribute(“src”, file);

}

else if (file.indexOf(“.css”)!=-1){ //If object is a css file

fileref=document.createElement(“link”)

fileref.setAttribute(“rel”, “stylesheet”);

fileref.setAttribute(“type”, “text/css”);

fileref.setAttribute(“href”, file);

}

}

if (fileref!=”"){

document.getElementsByTagName(“head”).item(0).appendChild(fileref)

loadedobjects+=file+” ” //Remember this object as being already added to page

}

}

}


Step 2: Once that’s done, simply create links that will load an external page into the desired DIV or container using one of the below syntax:

href=”javascript:ajaxpage(‘test.htm’, ‘contentarea’);”

Categories: Freaky But Tricky Tags:
Follow

Get every new post delivered to your Inbox.