jquery "$ (document) .ready (function () {" не работает в IE - PullRequest
2 голосов
/ 25 марта 2011

Я использую фреймворк MVC 2 и добавил несколько javascript для расширения div.Он отлично работает в Firefox, Chrome, Opera и Safari, но не в Internet Explorer.Я получаю ошибку «Ожидается объект».Вот мой код

, импорт jquery находится в файле site.master

 <head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" charset="utf-8"></script>

Javascript, в представлении mvc: тестовое предупреждение появляется в IEно test2 этого не делает.

   <script type="text/javascript">
    alert("test");

    $(document).ready(function () {
        alert("test2");
        $(".expandingcontent").hide();

        $(".divexpand").click(function () {
            var divID = "#" + $(this).attr("id").substring(6);
            if ($(divID).is(":hidden")) {
                $(divID).slideDown("slow");
            } else {
                $(divID).hide();
            }
        });
    });
</script>     

Я пытался разместить javavscript в начале страницы, в конце ничего не работает.Я также пытался использовать тайм-аут, но и там успеха не было.Я использую IE 8, любая помощь очень ценится Спасибо!

Ответы [ 4 ]

3 голосов
/ 25 марта 2011

Ваша ссылка на ресурс Google CDN неверна, особенно если ваш сайт использует SSL.
Измените вашу ссылку, как это, и это должно работать.

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

Это потому что,

Это не совсем легкое чтение, но раздел 4.2 RFC 3986 предусматривает полностью определенные URL, которые не указаны протокол (HTTP или HTTPS) в целом. Когда протокол URL опущен, браузер использует протокол базового документа вместо этого.

Дейв Уорд объясняет это более подробно: Урезать кеширование Google CDN одним символом

P.S: Лучше использовать Google CDN вместе с локальным резервным ресурсом на случай, если CDN не сможет загрузить

2 голосов
/ 25 марта 2011

Это может быть вызвано тем, что он не может загрузить jquery.js?Попробуйте загрузить его и указать в качестве локального ресурса.

1 голос
/ 20 марта 2013

В моем случае у меня был посторонний console.log в JS, и он тихо сломался в IE.Это сбивало с толку, потому что когда я включил инструменты разработчика IE, он волшебным образом начал работать.Во всяком случае, проверьте это тоже.

1 голос
/ 25 марта 2011

Обязательно включите файл сценария jquery перед выполнением функции $ (document) .ready.

...