Unpredictable behaviour of IE with frames and JS global variables

D

Dario de Judicibus

It looks like there is a very bad problem with JavaScript support in
Internet Explorer 6.

Let divide a frameset in four frames, a top bar, a side menu, a content body
and a hidden frame.
The hidden frame is used to keep a page that defines a global object, let us
call it top.current.
That object is used to keep trace of which pages are loaded in the other
three frames.
In fact, each page has a 'name'. Furthermore pages in the side menu and
content body are loaded at the same time by clicking buttons in the top bar.

Is is clear? OK. Let's go ahead.

Every time a page is loaded it updates the global object, which is used to
update a small box in top bar with the names of currently loaded pages. I
use a setTimeout to ensure that all pages are loaded before updating the
box.

This system works in Mozilla, in Opera and Firefox, but NOT in Internet
Explorer, or better, not always. Sometimes the object is not updated, that
is a page do NOT change the global object. I tried several different code
techniques, but the result is always the same: some pages work as expected,
others do not work, even if they are practically the same.

Does anybody know if IE has some problem with frames and global variables
that generates unpredictable behaviour?

Thank you in advance.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dr. Dario de Judicibus - Italy (EU)
Site: http://www.dejudicibus.it/
Blog: http://lindipendente.splinder.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
K

kanenas

I'm afraid I don't have an answer for you since I'm looking for one
myself :)

I have a similar problem that might corroborate yours or point to a
solution that escapes me for now.

I've set up an application in my intranet that uses a Java Web server
to display a form with frames and data fields controlled with
Javascript.
A tree of request types on the left half frame, a list of returned
values on the right top half, and on the right bottom half, a form with
the data of the line selected on the list above.

The data on the right bottom frame is modified either by direct entry
or selecting through its dropdown list.

Direct entry works.
The dropdown list comes up, I can move the mouse and select different
entries in it, but when I click on it, nothing happens.
It just refuses to capture the clicks.

This happens on a laptop with XP SP2 on it.
It works fine with the Opera browser though.

It also works fine from a desktop computer in my intranet that has the
same OS like the laptop, same service packs, same Java VM, same JRE,
same IE settings, same firewall, same graphics driver.

Disabling all IE plugins in the laptop, setting IE to Defaults and Low
security, disabling the firewall and everything that looked like it
might block something, had zilch effect.
The form still refuses to behave.

I don't think it would be IE to blame though since it works fine from
the other machines.

It's probably some corrupted Javascript registry entry or DLL that
causes it.

I've reregistered the suspect DLLs and run SFC but nothing was
identified as suspicious.
I've checked for malware and such with multiple scanners and also
checked the registry for illegal values, but the laptop is sparkling
clean.

I can't think of anything else to try other than reinstalling XP on top
of itself.
Maybe somebody can suggest a fix before I do that.

Good luck.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top