It seems that IE8 defers javascript, but also doesn't block. I've setup a test environment to prove this. Here's the html page(replace 192.168.1.xxx with your server):
<html>
<head>
<title>IE Pains</title>
<script type='text/javascript' src='http://192.168.1.xxx/ietest/js.js'></script>
<script type='text/javascript'>
scream('hello world');
</script>
</head>
<body>
</body>
</html>
And the js File:
function scream( str ) {
alert( str );
}
Am I seeing this wrong, or does IE not recognize the scream function because it hasn't finished loading js.js?
EDIT: I created the pages on my server: http://www.codenothing.com/ietest/, which loads fine in IE8, but bringing it down to local machine, and going through local network seems to be failing. I have confirmed this on 2 different wireless networks going through the 192.168 protocol.