Hi,
ich habe vor den Content einer Seite mit Ajax zu laden, sodass die Seite nicht neu geladen werden muss während man durch die verschiedenen Contents navigiert.
Dafür verwende ich Mootools, ebenso für diverse DHTML-Effekte auf der Seite.
Wenn ich nun in dem per Ajax geladenen Content wieder etwas mit Mootools machen will, funktioniert das nicht.
Der Content wird wie folgt geladen:
script.php
var xmlHttpObject;
function loadContent(content) {
xmlHttpObject = new XHR({method: 'get', onSuccess: handleContent}).send(content);
}
function handleContent() {
$('content').innerHTML = xmlHttpObject.response.text;
}
Alles anzeigen
index.php
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/home.css" />
<script type="text/javascript" src="js/mootools.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/home.js"></script>
</head>
<body onload="loadContent('home.php');">
<div id="content"></div>
</body>
Will ich in der Datei home.php Mootools nutzen, funktioniert dies nicht.
Die dafür nötigen Scripte sind in der home.js die, genau wie die mootools.js, in der index.php eingebunden wird. Gleiches gilt für das Stylesheet.
Warum kann ich also in der (per Ajax in die index.php eingebunden) home.php nicht auf die (ebenfalls in der index.php eingebundenen) mootools.js zugreifen?
Zum testen habe ich in die mootools.js folgendens geschrieben:
function testIt() {
document.write('test');
}
Und in die home.php:
Dies funktioniert einwandfrei. Ebenso wenn ich das Obige in die script.js anstatt in die mootools.js schreibe.
Ich hoffe mal, dass man das durchsteigt und jemand weiß woran das liegt!
MfG Markus
EDIT: Im Safari-Browser funktioniert es komischerweise, was meine bisherigen Theorien über den Haufen wirft.
Hat es vielleicht irgentetwas mit Ladezeiten zu tun?