jQuery - объект, ожидаемый в IE и $ (document) .ready (function () {}); - PullRequest
1 голос
/ 17 ноября 2010

У меня есть страница ([LINK REMOVED]), которая прекрасно работает в FireFox и Chrome, но по некоторым причинам я получаю ошибку «Ожидаемый объект» в большинстве, если не во всех версиях IE.

Ошибка возникает на линии

$(document).ready(function() {
    //^ Error occurs here ^
    ...
}

Я использую jQuery Tools , который реализует jQuery 1.4.2, а также некоторые дополнительные вещи.

Я немного перечитал. Я попытался поместить функцию ready в конец кода, прямо перед тегом </body> - кроме того, я попытался реализовать таймер, чтобы позволить IE загружаться перед выполнением, и я не могу избавиться от этой ошибки.

Ответы [ 5 ]

6 голосов
/ 17 ноября 2010

Вот одна проблема, которая может привести к тому, что IE захлебнется, когда другие браузеры не смогут:

$('#' + resultDivName).animate({
  height: '300px', // <=== TRAILING COMMA
}, 500, function() {
  // Animation complete.
});  

Затем в вашем вызове qtip вы получите:

target: 'popPart_WM300BP'

Я считаю, target принимает объект JQuery DOM , а не строку.DebugBar указывает на эту строку как на причину «ожидаемого объекта».

Наконец, похоже, что эта версия jQuery Tools включает в себя jQuery 1.4.2.Возможно, стоит попробовать 1.4.3 или 1.4.4.

1 голос
/ 17 февраля 2012

Если вы тестируете по HTTPS-соединению, проверьте, выбираете ли вы просмотр только того контента, который был доставлен надежно. Если вы выберете YES, возможно, скрипты не будут загружены.

1 голос
/ 17 ноября 2010

Может быть URL, который вы используете для jquery.tools.Отсутствует http: часть.

// cdn.jquerytools.org/1.2.5/jquery.tools.min.js

должно быть

http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js

0 голосов
/ 26 сентября 2013

Это еще один камень, который вызывает эту ошибку в IE

Math..random();

Эти две точки (..) разрушат вас.

0 голосов
/ 17 ноября 2010

Ваши методы $(document).ready и $(function(){..} просто хороши - на самом деле, когда я запустил отладчик Visual Studio и прикрепил его к странице, эти методы запускались, как и ожидалось. Проблема в том, что они пытаются вызвать функцию с именем initializePageMain(), которая по какой-то причине не существует. Относительно того, почему эта функция, кажется, не существует ... Я не уверен.

Я бы также попытался «исправить» тег сценария, который содержит этот код (sidenote: почему в вашем файле index.js не определен doToolTips?), Чтобы он читался так же, как остальные теги сценария (избавьтесь от элемента языка :

<script type="text/javascript"> ... </script>
...