Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does $(document).ready() work in IE 8?

I've recently installed IE 8 and can't seem to get the jquery $(document).ready event to fire. Are there any special considerations that I'm missing? Litterally, this is all I have in my html and it works as expected in Chrome and Firefox:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Page full of awesomeness</title>
    <script type="text/javascript" src="~/Scripts/jquery-1.3.2.js" />
    <script type="text/javascript">        
        $(document).ready(function() {
            alert("Hello?");           
        });
    </script>
</head>

<body>

</body>

In Internet Explorer, the page just loads without incident. There's no alert box and I can't see any javascript errors reported. Is this something normal that I just don't know about?

like image 847
MojoFilter Avatar asked Apr 14 '09 14:04

MojoFilter


2 Answers

With current XHTML strict standards:

Even when src is specified, the script tag is not an empty tag, and cannot be written <script src=".... />. If you include the src you should not include any script between the opening and closing tags as browser handling of any script between the tags is not reliable.

Basically, do not self close the tag. Use </script>.

like image 43
Travis Avatar answered Oct 27 '22 12:10

Travis


Try turning this.

<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js" />

Into this

<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js"></script>
like image 139
Ólafur Waage Avatar answered Oct 27 '22 12:10

Ólafur Waage