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?

Answers


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>

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>.


My guess would be this (sorry i don't have ie8 on this machine to test)

<!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>
    <script type="text/javascript">        
        $(document).ready(function() {
            alert("Hello?");           
        });
    </script>
</head>

<body>

</body>

Also i'd suggest to use /Scripts/jquery-1.3.2.js if you are referring to your site's root


In addition to what others have said, you're also missing the </html> at the end of the document. Maybe just a copy/paste error :)


Also check the compatibility of jQuery. Currently jQuery 2.x only supports IE9 or later. Not IE8


$(document).ready()

Not work in IE8 I find a code sample from this link https://plainjs.com/javascript/events/running-code-when-the-document-is-ready-15/ It is working with Jquery 1.10.2

	function run() {
    // do something
    alert('working');
}

// in case the document is already rendered
if (document.readyState!='loading') run();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', run);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
    if (document.readyState=='complete') run();
});

Need Your Help

Flask POST request is causing server to crash

python json api rest flask

I am trying to make a simple api in Flask, the first step being getting the POST json data. (I just want to print it for now) This is my code and when I request /api with json data, it returns a 500

Can you use HTML5 local storage to store a file? If not, how?

javascript html5 flash local-storage

How would one go about caching / managing many large files (videos) on a user's computer via browser mechanisms (plugins are acceptable solutions). From what I can tell, local storage is about data...