Проблема с jQuery в Internet Explorer 8 - PullRequest
78 голосов
/ 18 мая 2009

Я пытаюсь заставить мои функции jQuery работать на IE8. Я загружаю библиотеку с серверов Google (http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js).

$(function(){}) никогда не вызывается. Вместо этого я получаю ошибку Object expected. Я открыл разработчика и запустил typeof $ в консоли, и он появился как undefined.

Я пытался зайти на другие сайты, которые, как мне известно, используют jQuery (jquery.com), и все они работают, есть что-то, чего мне здесь не хватает?

Ответы [ 20 ]

4 голосов
/ 21 октября 2010

Событие onload не всегда работает на IE7 / 8 в <head> ... </head>

Вы можете принудительно установить его, добавив скрипт загрузки в конце своей страницы перед тегом, как показано ниже.

  <script>
    window.onload();
  </script>
</body>
2 голосов
/ 02 мая 2011

Это исправило мою проблему в IE8:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

Работая на локальном хосте, мне пришлось изменить https:// на http://

Если я пытаюсь перейти по защищенной ссылке, я получаю Internet Explorer не может отобразить веб-страницу дружеское предупреждение.

Всегда пытайтесь сначала загрузить текстовые скрипты в браузере, если есть проблемы!

2 голосов
/ 05 августа 2009

У меня были такие же проблемы.

Я решил это, убедившись, что IE8 не был правильно настроен для достижения URL-адреса SRC.

Я изменил это, все работает правильно.

2 голосов
/ 16 сентября 2010

Может быть, вы вставите два скрипта, это должно работать.

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">/script> 
1 голос
/ 18 апреля 2011

Я думаю, что у вас та же проблема, что и у меня:

Message: Permission denied
Line: 13
Char: 27021
Code: 0
URI: http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.3.2.min.js

Из-за междоменной ссылки. Попробуйте разместить jquery.js в том же домене.

1 голос
/ 18 мая 2009

Может быть, у вас включена inPrivate Filtering ?

1 голос
/ 13 октября 2010

У меня была такая же проблема. Решением было добавить ссылку на файл JQuery в качестве доверенного сайта в IE.

0 голосов
/ 17 августа 2012

Решением в моем случае было удаление любых специальных символов из URL, к которому вы пытаетесь обратиться. У меня там были тильда (~) и символ процента, и вызов $ .get () молча завершился неудачей.

0 голосов
/ 12 марта 2011

Короче говоря, это из-за механизма разбора IE8.

Угадайте, почему у Microsoft тоже проблемы с новыми тегами HTML5 (например, "section")? Это потому, что MS решила, что они не будут использовать регулярный анализ XML, как остальной мир. Да, все верно - они проделали кучу пропаганды по XML, но в итоге они прибегают к «глупому» механизму синтаксического анализа, который ищет «известные теги» и портит информацию, когда что-то новое появляется.

То же самое касается IE8 и проблемы jquery с «load», «get» и «post». Опять же, Microsoft решила «идти своим путем» с версией 8. В надежде, что они решат (d) это в IE9, единственная текущая возможность - использовать синтаксический анализ IE7 с <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />.

Ну что ж ... какой сюрприз, что Microsoft заставила нас снова публиковать материалы на форумах. ;)

0 голосов
/ 08 мая 2010

OK! Я знаю, что jQuery загружается. Я знаю, что jQuery.textshadow.js загружается. Я могу найти оба сценария в инструментах разработчика.

Странная часть: этот код работает в области содержимого, но не в баннере. Даже с выделенным fixIE.css. И это работает, когда я помещаю CSS в линию. (Это, конечно, портит FireFox.)

Я даже поместил условный промежуток IE вокруг текстового поля в баннере, но безуспешно.

Я не нашел различий и имел одинаковые ошибки как в jquery-1.4.2.min.js, так и jquery-1.2.6.min.js. jquery.textshadow.js был загружен с сайта jQuery при попытке найти решение этой проблемы.

Это не размещено на сайте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...