views:

197

answers:

3

I built a Parts Catalog for a company recently. It works perfectly in Firefox, Chrome, Safari, etc.

However, in IE 7, every single page works except for the actual parts page itself: http://www.swstruckbodiesandtrailers.com/index.php?pageId=69

It actually locks the entire browser up, and after reviewing the source, I have no idea why.

Does anyone have any insight? It's merely simple HTML, CSS, and a few lines of jQuery--nothing out of the ordinary.

I've never encountered a page that froze the entire browser before.

+3  A: 

You need to cut down the site piece by piece and isolate the exact cause of the lock up.

Spencer Ruport
+1 Because it's the best advice.
Robusto
Alright, I'll isolate the problem and repost.
thinkswan
A: 

My guess would be that there is an AJAX call that is not getting to the correct ReadyState for some reason.

Jacob G
There is no AJAX happening during the page load. The only AJAX call is when the Login link at the bottom of the page is clicked.
thinkswan
As AJAX calls are (usually, by design) asynchronous, they just wouldn't lock a browser. The only thing that would happen is that the `onreadystatechange` event listener will not be called for a long time, at least not with `readyState==4`.
Marcel Korpel
I think that you're assuming implementation... It could be a Do loop checking the readystate on the xmlhttp object which could, in fact, lock the browser. Irrelevant at this point as it appears the problem has been solved.
Jacob G
That's true, but when would you write a `do` loop doing that? I really wonder this, could you give a short explanation?
Marcel Korpel
I'm just thinking of a naive, synchronous implementation. It's stuck in my head simply because I had a developer at my last job write code like that that locked up a site in Safari b/c the readystate sequence is a little different than in other browsers.
Jacob G
Interesting, I didn't know about that. You mean issues like on http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_r_2.html ?
Marcel Korpel
Yup, exactly like that.
Jacob G
+2  A: 

Alright, I isolated the offensive code to this:

<div class='partsLevel1'> 
  <h3><span class='floatLeft'>Box Parts (0)</h3> 
</div>

Clearly this is a simple blunder on my part by forgetting to close the <span> tag. I've quite surprised this actually freezes IE though. That doesn't seem like a very graceful failure on their part.

It looks like when IE gets multiple floated elements that remain unclosed, it just locks up entirely.

And the reason I have a seemingly unnecessary <span> inside of a <h3> element is because when you're logged in, there are a few administrative links that are floated right.

Thanks for your help everyone.

thinkswan
Looks like it could have been caught with an XML validation pass.
Paggas