#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.