Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery IE8 $(document).ready "object expected" error

I'm having a problem with IE8 throwing an "object expected" error when loading a page with the jquery command $(document).ready(). I've gone through all the other posts I can find here on SO, and none of the solutions seem to work.

To troubleshoot, I created the following html, which runs fine in Firefox and Chrome, but produces an "object expected" error at the $(document).ready line. So far:

  1. I've confirmed it is reaching the google jquery file - and tried referencing a local jquery.js file - same result.
  2. Tried placing the script in the <head> (I've included it in the body to recreate the situation on the site I'm developing on)
  3. I've also tried this with jQuery(document) instead of $ - same result
  4. Tried including: var $j=jQuery.noConflict(); and including $j(document), getting a 'jQuery is undefined' error on the $j declaration.

What am I missing? ANY help is appreciated! Thanks!

<html>
<head>
    <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
</head>
<body>
    <script type="text/javascript">
        $(document).ready(function(){
    alert("WORKING!");
    });

</script>

<div id="test">
</div>
</body></html>
like image 948
skaclmbr Avatar asked Aug 08 '12 16:08

skaclmbr


2 Answers

Mate, check your two script tags. One says type="application/javascript", the other says type="text/javascript".

Change the first one to type="text/javascript" and it will work fine.

like image 142
Alfabravo Avatar answered Oct 23 '22 03:10

Alfabravo


Had the same problem. I fixed this by struggling hard for some time and tried a bunch of thinks that did'nt work. But this work:)

Check you jquery script tag. If it contains the type="text/javascript" like this

<script  type="text/javascript" src="~/scripts/jquery-1.9.0.js"></script>

then replace the "text/javascript" with only "javascript"

<script type="javascript" src="~/scripts/jquery-1.9.0.js"></script>

Really vierd behaviour but it works. If anyone has a good explanation then please post an answer to this.

NB! This works only for IE8, not for Chrome or Firefox !

like image 27
Jakob Ojvind Nielsen Avatar answered Oct 23 '22 02:10

Jakob Ojvind Nielsen