Log in

View Full Version : Ajax Includes specific content



dkblackhawk
08-21-2009, 03:16 PM
i found this http://www.dynamicdrive.com/dynamicindex17/ajaxincludes.htm and i want to know how i can set it basically so that it will only grab the image out of the page, http://e4g.info/test.html i only want it to grab the avatar image nothing else, how can i accomplish this?

dkblackhawk
08-24-2009, 08:13 PM
Or have it so that it only grabs the content inside the div tag?

traq
08-24-2009, 11:50 PM
I did this once so the script would only grab the element with a specific id (in my case a <div>, but any element would work). I'll look for it when I get home today.

There was one complication, where you couldn't have another element with the same id on the page you were bringing the content to (it would replace it with the imported content, so you'd end up with two). This might not end up being a problem for you; it was just an issue for me because I had sections on most pages that I wanted to include on others. You might be able to work around it by renaming the imported content using javascript, or something.

traq
08-25-2009, 05:06 AM
Okay... actually, I was using a different script. you might be able to figure out something similar for the one you're using, though.

I started with the Dynamic Ajax Content (http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm) script and added a new "loadpage" function, and commented out the original. This code will include only the portion of the page inside the <div> with id="current". You can change that line easily enough to whatever you like. I hope it works for what you need!


/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/*EDITED TO TARGET DIV ID=CURRENT*/

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).style.display="none"
document.getElementById(containerid).innerHTML=page_request.responseText
document.getElementById(containerid).innerHTML=document.getElementById("current").innerHTML
document.getElementById(containerid).style.display="block"
}
}

/***********
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<arguments.length; 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
}
}
}

dkblackhawk
08-25-2009, 01:52 PM
I found out that after a good day of trial and error that this would cause me problems, thanks for your help though. Maybe you can help me here http://www.dynamicdrive.com/forums/showthread.php?p=203936#post203936