Какая комбинация библиотек jQuery не работает в IE и других браузерах

#jquery #internet-explorer

#jquery #internet-explorer

Вопрос:

Только что обнаружил, что эта комбинация не работает для IE 7.0.6001.18000

 <link media="all" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css" rel="stylesheet">

<link media="all" type="text/css" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" rel="stylesheet">

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

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

Библиотеки пользовательского интерфейса просто выдают ошибки. И $(document).ready(function(){ alert(':('); }); ничего не выдает

Обновить: —————————————————————

Ладно, я солгал! (дух) — что происходит с полными энтузиазма, но уставшими глазами разработчика.

Итак, реальный вопрос в том, почему приведенный ниже код работает в Firefox, а не в IE

  $(document).ready(function(){ 

 $('<img/>').attr('src','images/someRealPic.gif').load(function(){
 alert('here');  
 }); });
  

Комментарии:

1. переход к jQuery 1.8.1.11 работает, хотя

2. Это скорее утверждение, чем вопрос, и если это вопрос, не могли бы вы, пожалуйста, указать, почему вам нужно использовать jQuery 1.4.4 с jquery ui с 1.8.10. Эту ошибку лучше отправить в службу поддержки Jquery.

3. jquery-ui-1.8.10 поставляется вместе с jquery-1.4.4. Вы правы, отправив это команде. Я просто подумал, может быть, я что-то делаю неправильно в своем коде, а не известная ошибка.

Ответ №1:

возможно, вы захотите проверить, сообщалось ли о данной проблеме в bugtracker, http://bugs.jqueryui.com/report/3 , если в этом случае issuse существует в 1.?.?.? но не в 1.?.?.(? 1) тогда это что-то, что было исправлено в более новой версии, и вам, вероятно, следует использовать либо более новую версию, либо обновленную старую версию, если это проблема для вас. Это цель системы управления версиями, ошибка произойдет и будет устранена более новой версией, а код в более старой версии будет оставлен таким, каким он был. следите за списком изменений при выходе версий, чтобы узнать, решают ли они какие-либо конкретные проблемы, которые могли возникнуть у вас с предыдущей версией.

Причина проста: ни одна команда разработчиков не идеальна, такие люди, как вы и я, найдут ошибки, сообщат о них, и разработчики выпустят новую сборку с исправленными ошибками, о которых мы сообщили.

Комментарии:

1. спасибо за ссылку на багтрекер! Ни одна команда разработчиков не является идеальной, в наши дни мы склонны сначала смотреть на SO 🙂

Ответ №2:

Добавленный вами код создает изображение и фактически нигде не прикрепляет изображение, поэтому событие загрузки никогда не сработает. Синтаксис для load является:

 $('img').load(function(){});
  

Я могу ошибаться, но я не думаю, что ее наличие в функции ready будет работать, поскольку при запуске функции ready ваше изображение уже будет загружено, и вам придется добавить $('img').trigger('load'); в событие ready, чтобы событие image to load запускалось из функции ready. По-видимому, событие загрузки jQuery не сработает, если изображение кэшировано, так что это также дополнительная проблема. Вы могли бы попробовать плагин imagesLoaded(), который проверяет, когда загружено данное изображение:https://gist.github.com/268257.