You are here: irt.org | FAQ | DHTML | Q1001 [ previous next ]
Normally, if you write text to the document after the document has finished loading then the new text will totally replace the whole document - losing your document, JavaScript, variables, data and client state.
Generally you would be better writing to another frame or another window.
However, it is possible in Internet Explorer 3+ to write to a floating frame within the document, and it is possible in Internet Explorer 4+ and Netscape Navigator 4+ to use DHTML and write into "layers":
<SCRIPT LANGUAGE="JavaScript"><!--
var input = 'abcdefghijklmnopqrstuvwxyz';
var output = '';
var count = 0;
function update() {
if (document.all)
document.all.myDiv.innerHTML = output;
else if (document.layers) {
document.layers['myLayer'].document.open();
document.layers['myLayer'].document.write(output);
document.layers['myLayer'].document.close();
}
else if (frames.length != 0) {
window.frames[0].document.open();
window.frames[0].document.write(output);
window.frames[0].document.close();
}
}
function tickerTape() {
output = input.substring(0,++count);
update();
if (output.length < input.length)
setTimeout('tickerTape()',100);
}
//--></SCRIPT>
<BODY onLoad="if (document.all || document.layers || frames.length != 0) tickerTape()">
<DIV ID="myDiv"><LAYER ID="myLayer"></LAYER></DIV>
<SCRIPT LANGUAGE="JavaScript"><!--
if (!(document.all || document.layers)) {
document.write('<IFRAME NAME="myFrame"></IFRAME>');
}
//--></SCRIPT>