views:

440

answers:

2

My blog loads normally on Google Chrome and FireFox, but not on IE, when viewing the source code I figured out that it stops reading html at a certain amount.

at the end of the source code I find this

</script>
<div class='clear'></div>
<span class='widget-item-control'>
<span class

I agree it's a big webpage (the last line is 1338) but why do IE stop in the middle of the HTML?

this is the link if you want take a look here.

+2  A: 

When i pulled it up in IE8 (see comment on main question to see if this applies for you) it stopped because of an error:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) Timestamp: Thu, 30 Jul 2009 22:04:50 UTC

Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) Line: 0 Char: 0 Code: 0 URI: http://www.martani.net/

Making sure that all errors are fixed, will definitely make it more friendly for all browsers, i know IE is the pickiest of them all so something that firefox, chrome, etc. wont stop for IE will.

Javascript is somewhere probably trying to alter the page as its loading, meaning that you probably have some in-line javascript code that is being loaded before something else has loaded all the way to be modified.

If you place all the javascript within the head tags it is my understanding that it will execute AFTER the page has been fully loaded meaning that this will probably solve your issue. The lack of detail within the error message is probably caused by javascript having an issue right as it starts to execute hence line 0 char 0 code 0.

Hopefully that will be a little more helpful, good luck the IE god's hate us all! ;)

Wade
but where is the error exactly I don't see anything specific in that message
martani_net
It would appear that somewhere within the source code, javascript is trying to modify a container, which all the containers underneath that parent are not properly closed.Basically, your modifying something while its still loading. Maybe there is some inline javascript, you can get around this by ensuring that all javascript files are placed between the <head> tag. Hope this helps!
Wade
I will edit my answer to be more specific...
Wade
thanx I'll try to see what I can do with those scripts! but are you sure that placing them in the head will make them execute after the page loads completely?
martani_net
No to be honest i'm not 100% sure. But check this link: http://www.mediacollege.com/internet/javascript/placement.html -- It talks about why to place them there, i guess really in fact it just makes sure that all your code is available when it is actually called. So it could also be possible you are calling a script within a div or something that is editing the parent div which hasn't finished loading. Make sure that your JS is executing things on parts of the webpage that will FOR SURE be successfully loaded at the time.
Wade
See http://support.microsoft.com/kb/927917.
EricLaw -MSFT-
+1  A: 

It seems to be a bunch of javascript errors running in IE6.

This is the first one:

$('.excerpt').expander({
slicePoint: 1000, // default is 100
expandEffect: 'show', 
collapseaEffect: 'show', 
expandText: '<b> ...Read More</b>', // default is 'read more...';
userCollapseText: '[^Collapse]',
expandPrefix:     '... ',
expandSpeed: 1000,
collapseSpeed: 1000,
userCollapse:     true, 
widow:            40,
});

Is that ',' supposed to be there at the end?

Tommy
ah wait, that a jQuery script! I'll try delete it
martani_net
ok now, the jQuery expander works fine but the HTML problem still the same
martani_net
It's says there's an invalid character at line 805. But I guess all the other javascript is making changes to the dom confusing the debugger? Since line 805 is just a <form> tag.
Tommy