Почему мой код jquery работает в IE9, а не в IE8? - PullRequest
1 голос
/ 26 сентября 2011
<script>
            $(document).ready(function() {
                $("#various2").fancybox({
                    'width': 800,
                    'height': 570,
                    'type':'iframe'
                });
            });
</script>

Я получаю ошибку в IE8 и 7, но не в IE9

Объект не поддерживает свойство или метод 'fancybox'

и ошибкув этой строке

$("#various2").fancybox({

и мои сценарии находятся внизу до </body>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" defer="defer"></script>
        <script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
        <script src="js/plugins.js" defer="defer"></script>
        <script>
        $(document).ready(function() {
            $("#various2").fancybox({
                'width': 800,
                'height': 570,
                'type':'iframe'
            });
        });
        </script>

Ответы [ 3 ]

2 голосов
/ 26 сентября 2011

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

Поскольку ваши скрипты находятся внизу страницы до </body> нет необходимости вообще откладывать их загрузку , так как остальная часть страницы уже загружена.

1 голос
/ 15 января 2014

Теги встроенного скрипта не поддерживают defer и поэтому всегда будут выполняться, как только они встретятся. Поскольку ваш внешний скрипт имеет defer, он будет загружаться в любой произвольный момент в будущем. Таким образом, ваш встроенный скрипт будет (почти) всегда выполняться до того, как ваш внешний скрипт загрузится и запустится.

1 голос
/ 26 сентября 2011

Полагаю, вы должны отладить часть defer = "defer". Разные версии IE могут интерпретировать его по-разному, вызывая синтаксический анализ js libs после разбора основного текста.

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