Hallo,

Ik zit met een probeer waar in niet uit kom. Ik zit zelf al twee dagen te prutsen maar niks wil lukken..

Ik heb het volgende script van de site van Jquery vandaan: Klikje!

Ik noem dit script even animate.php. Ik heb nu het volgende script waar dit het script animate telkens weer wordt herladen.


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Title</title>
	<link rel="stylesheet" type="text/css" href="../style.css" />
        <script language="javascript">
	var xmlHttp
	function reload_naam()
	{
		xmlHttp=GetXmlHttpObject()
		if (xmlHttp==null)
		{
			alert ("Your browser does not support AJAX!");
			return;
		} 
		var url="animate.php";
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	} 
	function stateChanged() 
	{ 
		if (xmlHttp.readyState==4)
		{ 
			document.getElementById("naam").innerHTML=xmlHttp.responseText;
		}	
	}

        function GetXmlHttpObject()
	{
		var xmlHttp=null;
		try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		}
		return xmlHttp;
	}
       
        setInterval(reload_naam, 5000);
</script>
</head>
<body>
           <div id="naam" class="naam"></div>
</body>
</html>

dit script heet dan index.php..

Ga ik naar animate.php dan doet het script het gewoon..
Ga ik naar index.php dan doet het script animate, wat dan elke keer wordt herladen, het niet. Het lijkt erop dat de javascript niet goed wordt gepakt.. Ik heb ook al geprobeerd om het javascript gebeuren wat in animate.php staat in index.php te zetten, zonder resultaat..

Ik ben ten einde raad.. Is hier een oplossing voor?

Thom

Tip: test je script in firefox met de firebug addon. Dan krijg je nuttige javascript foutmeldingen te zien en wordt het een stuk makkelijker om je script te debuggen...
Dat heb ik gedaan, maar kom er nog steeds niet uit..
Merk op dat wanneer je HTML via innerHTML toevoegt aan je document, alle Javascript die daarin zit niet wordt uitgevoerd.

Wat je zou kunnen doen is met een regular expression en eval() de javascript-code "handmatig" uitvoeren, of je kan proberen alle Javascript naar je index.php te halen zodat animate.php geen javascript meer bevat.

Prototype.js en wss ook wel JQuery passen de eerste manier (meestal volledig transparant) toe. Ik persoonlijk raad aan om toch voor de tweede manier te proberen. Kan je ook eens posten hoe je animate.php eruit ziet?
mijn animate ziet er zo uit: Klikje
en mijn index.php ziet er zo uit: Klikje

ik had ook al geprobeerd alle js in index.php te zetten, maar op de 1 of andere manier pakt ie dat ook niet:S..
Op de een of andere manier zal je javascript in animate niet uitgevoerd worden na de request op index.php. Als je nu eens die javascript van animate bij de javascript van index.php zet, en datzelfde met de html van animate. Werkt het dan niet?

Reageren