February 26, 2001 - Dynamically Loading External Files
February 26, 2001 Dynamically Loading External Files Tips: February 2001
Yehuda Shiran, Ph.D.
|
document.write
the include statement on the fly. Suppose you have the following external script:
function printMessage() {
alert("Hello from External");
}
and you want to dynamically load it from the main html code:
<SCRIPT LANGUAGE="JavaScript">
document.write('<SCRIPT LANGUAGE="JavaScript" SRC="010226b.js"><\/SCRIPT>');
</SCRIPT>
Now, suppose you want to call the printMessage()
function in the main html program, immediately after loading the script:
<SCRIPT LANGUAGE="JavaScript">
document.write('<SCRIPT LANGUAGE="JavaScript" SRC="010226b.js"><\/SCRIPT>');
printMessage();
</SCRIPT>
Try it. You get an error message. The reason for this failure is that both Internet Explorer 5.5 and Netscape 6 do not wait for the external script to be read before continuing parsing the main script.
One of the remedies for this problem is to close the <SCRIPT>
element immediately after loading the external script:
<SCRIPT LANGUAGE="JavaScript">
document.write('<SCRIPT LANGUAGE="JavaScript" SRC="010226b.js"><\/SCRIPT>');
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
printMessage();
</SCRIPT>
Try it. You should get an alert box with the message "Hello from External"
.