|
A number of you have noticed that your Project 1 Files don't work properly when you try to view them on your personal machine with Netscape Navigator 4.04 for Windows or Macintosh. Yet the same files seem to work just fine when you run them on machines in the Hypermedia Room. What's up? It's Netscape's fault. When they released version 4.04, they made a subtle change in the rules governing plugins, frames, and JavaScript. Before version 4.04, an <EMBED> object such as a QuickTime movie could talk directly to the JavaScript on the page that contained it. In 4.04, <EMBED> objects were cut off from their local pages if those pages occurred in a frameset. They could communicate only with scripts within the frameset page (technically speaking, the "parent" page). So a page that worked just fine in Netscape 4.03 suddenly started throwing JavaScript errors in 4.04. To make matters worse, Netscape changed back to the old scheme in the next release, version 4.05! So now we have pages that work in 4.03 and 4.05 but not in 4.04. Aiyeee! (By the way, this is why the Hypermedia Room machines are okay: it turns out they all have either 4.03 or 4.05 installed, but not 4.04.) There is a fix. Simply put the script you want executed in BOTH the frameset page AND the page that contains the <EMBED>. That will satisfy every variety of Netscape 4 of which I am aware. Specifically, turn to Step 9 in this week's instructions. Amend it to read as follows:
<script language="JavaScript">
function getPage(whichPage)
{
parent.frames['right'].document.location=whichPage;
}
</script>
ALSO enter this code into the <HEAD> container of the page index.html. I have tested this solution on several machines and in many different versions of the browser and am reasonably convinced it works. Test files are available at http://raven.ubalt.edu/classes/pbds664_f98/p1Test/. Good luck. |