login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Wanneer is extern script klaar met laden

Offline Analog - 27/06/2007 09:51 (laatste wijziging 27/06/2007 09:52)
Avatar van AnalogHTML 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:

  1. <script language="JavaScript">
  2. // Read URL vars, -> ?group=[ID]
  3. var vars = [], hash;
  4. var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
  5. for(var i = 0; i < hashes.length; i++)
  6. {
  7. hash = hashes[i].split('=');
  8. vars.push(hash[0]);
  9. vars[hash[0]] = hash[1];
  10. }
  11.  
  12.  
  13. var groupid = vars["group"];
  14.  
  15. // Specify your livefeed link here, make sure [&groupid="+groupid+"] remains in the url
  16. file = "http://*.*.*.*/~leon/livefeed/?output=js&developerid=2137&groupid="+groupid+"&max=100";
  17.  
  18. // create a new script tag to the head of your page to load correct data from livefeed
  19. var head = document.getElementsByTagName('head').item(0)
  20. var scriptTag = document.getElementById('loadScript');
  21. if(scriptTag) head.removeChild(scriptTag);
  22. script = document.createElement('script');
  23. script.src = file;
  24. script.type = 'text/javascript';
  25. script.id = 'loadScript';
  26. head.appendChild(script)
  27.  
  28. </script>

1 antwoord

Gesponsorde links
Offline haytjes - 27/06/2007 13:23
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
document.onload moet wel lukken hiervoor
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.17s