PoldivonPösel
Grünschnabel
Hallo
Ich habe eine Frage zu diesem Script:
Wie passe ich den Code so an, dass automatisch - also ohne Klick auf einen Link- der Inhalt von content1 -> datei1.php und content2 -> datei2.php nachgeladen wird? Ich bin für jeden Hinweis sehr dankbar. Meine JavaScript-Kenntnisse sind einfach zu schlecht - will aber gerne dazu lernen.
Danke schonmal,
Poldi
Ich habe eine Frage zu diesem Script:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Beispiel</title>
<script type="text/javascript">
var LoaderObject = function()
{
this.connection = false;
this.running = false;
this.requestQueue = new Array();
this.requestCounter = 0;
this.requestQueueCounter = 0;
};
LoaderObject.prototype.initialize = function()
{
if (window.XMLHttpRequest)
{
this.connection = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
this.connection = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
this.connection = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
return false;
}
}
}
return true;
};
LoaderObject.prototype.runRequest = function()
{
if(this.running)
{
return false;
}
if(!this.connection)
{
var reconnected = this.initialize();
if(!reconnected)
{
return false;
}
}
this.running = true;
var request = this.requestQueue[this.requestCounter];
if
(
!request['url'] ||
!request['elementId']
)
{
return false;
}
try
{
this.connection.open('GET', request['url'], true);
}
catch(e)
{
return false;
}
this.connection.onreadystatechange = function()
{
if (Loader.connection.readyState == 4)
{
if (Loader.connection.status == 200)
{
document.getElementById(Loader.requestQueue[Loader.requestCounter].elementId).innerHTML = Loader.connection.responseText;
Loader.requestCounter++;
Loader.requestQueueCounter--;
if (Loader.requestQueue.length > Loader.requestCounter)
{
Loader.running = false;
setTimeout("Loader.runRequest()",100);
}
else
{
Loader.running = false;
Loader.requestQueue = new Array();
Loader.requestCounter = 0;
Loader.requestQueueCounter = 0;
}
}
else
{
alert('connection error : '+Loader.connection.status);
}
}
};
this.connection.send(request['send']);
return true;
};
LoaderObject.prototype.add = function(requestObject)
{
var requestsParams = requestObject.split('|');
this.requestQueue[this.requestQueue.length] = {
'elementId' : requestsParams[0] || false,
'url' : requestsParams[1] || false
};
this.requestQueueCounter++;
}
LoaderObject.prototype.register = function(request)
{
if(typeof(request) != 'string')
{
return false;
}
var requestObjects = request.split(',');
if(typeof(requestObjects) == 'object')
{
for(var index in requestObjects)
{
this.add(requestObjects[index]);
}
}
if
(
!this.running &&
this.requestQueueCounter > 0
)
{
this.runRequest();
}
return null;
};
var Loader = new LoaderObject();
</script>
</head>
<body>
<div id="content1">content 1</div>
<div id="content2">content 2</div>
<div id="content3">content 3</div>
<br /><br />
<a href="#" onclick="javascript:Loader.register('content1|datei1.php');">SET CONTENT 1</a>
<a href="#" onclick="javascript:Loader.register('content2|datei2.php');">SET CONTENT 2</a>
<a href="#" onclick="javascript:Loader.register('content3|datei3.php');">SET CONTENT 3</a>
<a href="#" onclick="javascript:Loader.register('content1|datei1.php,content2|datei2.php,content3|datei3.php');">SET ALL</a>
</body>
</html>
Wie passe ich den Code so an, dass automatisch - also ohne Klick auf einen Link- der Inhalt von content1 -> datei1.php und content2 -> datei2.php nachgeladen wird? Ich bin für jeden Hinweis sehr dankbar. Meine JavaScript-Kenntnisse sind einfach zu schlecht - will aber gerne dazu lernen.
Danke schonmal,
Poldi