HTML interesse |
|
Hi,
Ik ben nog steeds bezig met het includen van een externe javascript.
Zodra de pagina geopend wordt haalt een javascript de GET variabele uit de URL en op basis daarvan wordt de URL gegenereerd voor het te includen script.
Dit werkt inmiddels allemaal perfect maar ik zit nu met het volgende:
De pagina die geinclude wordt heeft als output o.a. een lange array met producten die uit de database wordt gehaald, doordat deze array soms erg groot is (1000 producten of meer) duurt het soms vrij lang om deze te laden (of in ieder geval langer dan de rest van de "main" pagina)
De functies in de "main" pagina worden dan al uitgevoerd terwijl de externe pagina nog niet volledig geladen is.
Ik moet dus een soort eventhandler aanmaken die controleert of de externe pagina klaar is met laden.
Nu kan ik aan het eind van de externe pagina een variabele meegeven die beschikbaar is in de "main" pagina maar hoe vang ik die op?
Bij AJAX gebruik je onreadystatechange maar kan ik dat ook gebruiken zonder XmlHttpRequest? en zo ja; hoe?
Hoop dat het een beetje duidelijk is en dat iemand mij kan helpen!
Groet,
Leon
Scrip tot nu:
<script language="JavaScript">
// Read URL vars, -> ?group=[ID]
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
var groupid = vars["group"];
// Specify your livefeed link here, make sure [&groupid="+groupid+"] remains in the url
file = "http://*.*.*.*/~leon/livefeed/?output=js&developerid=2137&groupid="+groupid+"&max=100";
// create a new script tag to the head of your page to load correct data from livefeed
var head = document.getElementsByTagName('head').item(0)
var scriptTag = document.getElementById('loadScript');
if(scriptTag) head.removeChild(scriptTag);
script = document.createElement('script');
script.src = file;
script.type = 'text/javascript';
script.id = 'loadScript';
head.appendChild(script)
</script>
<script language="JavaScript"> // Read URL vars, -> ?group=[ID] var vars = [], hash; var hashes = window .location .href .slice (window .location .href .indexOf ('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes [i ].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } var groupid = vars["group"]; // Specify your livefeed link here, make sure [&groupid="+groupid+"] remains in the url file = "http://*.*.*.*/~leon/livefeed/?output=js&developerid=2137&groupid="+groupid +"&max=100"; // create a new script tag to the head of your page to load correct data from livefeed var head = document.getElementsByTagName('head').item(0) var scriptTag = document.getElementById('loadScript'); if(scriptTag) head.removeChild(scriptTag); script = document.createElement('script'); script.type = 'text/javascript'; script.id = 'loadScript'; head.appendChild(script) </script>
|