IE 7 + jquery 1.3.2 ошибки - PullRequest
       8

IE 7 + jquery 1.3.2 ошибки

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

У меня есть следующий код на моей странице. Иногда jQuery загружается нормально, но иногда я получаю сообщение об ошибке: jQuery is undefined

<script src="/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="/javascripts/jquery-ui-1.7.1.custom.min.js"    
type="text/javascript"></script>

<script type="text/javascript">
alert('test')
var $j = jQuery.noConflict();
alert('test1')
//start when document is ready
$j(document).ready(function(){
alert('test2')

Когда jQuery не загружается, я вижу только первую alert на странице. Так что я думаю, что jQuery никогда не загружается. Также я использую noConflict только потому, что раньше я получал ошибку $ is undefined. Я не использую никакую другую библиотеку js, такую ​​как прототип или что-то еще. Так что у меня нет НАСТОЯЩЕЙ необходимости использовать jQuery noConflict()

Кто-нибудь сталкивался с подобными проблемами с jQuery и IE 7? Эта ошибка не происходит в Firefox.

Можно ли что-то сделать, чтобы это исправить?

Обновление Я решил использовать jQuery + jQuery UI, размещенный в Google. который работал для меня.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>

Ответы [ 2 ]

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

Если у вас нет других конфликтующих библиотек, то $ is undefined в значительной степени означает, что либо путь к вашей библиотеке скриптов для jquery неверен, либо что jQuery еще не готов. В этом случае нет причин использовать функцию без конфликтов.

Попробуйте это:

<script src="/path to your/jquery-1.3.2.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function() {

        alert("jquery is ready.");

    });
</script>

Если срабатывает предупреждение, вы знаете, что на jQuery ссылаются и правильно инициализируют.

Если нет, попробуйте следующие варианты:

  • Попробуйте использовать Firefox с Firebug , чтобы проверить правильность пути к сценарию (вы действительно сможете загрузить файл сценария на панели Firebug)
  • Используйте неминифицированную версию jQuery в разработке, чтобы убедиться, что там нет проблем
0 голосов
/ 17 февраля 2010

Если это происходит и в других браузерах, моя первая ставка - неверные пути URL-адресов к библиотекам Jquery (javascripts или javascript). Попробуйте указать полный URL-адрес библиотеки и посмотрите, что произойдет.

Правильно ли объявлено noConflict? Я думаю, что это должно быть

var j = jQuery.noConflict();
....
j(document).ready(function(){....}
...