Ошибка jQuery $ (document) .ready () в IE6, но только после очистки временных файлов Интернета - PullRequest
0 голосов
/ 22 апреля 2010

У меня возникли проблемы с $ (document) .ready не выполняется в IE6, но только после очистки временных файлов Интернета (так что фактически при первой загрузке этой страницы). При обновлении страницы или при более поздней загрузке страницы все работает нормально.

Это текущая настройка:

  • Страница портала с фреймами, на этой странице портала также есть метод window.load (может быть, у нас есть проблема с подготовкой jQuery ??):

    window.onload = function () {
    try {
        expireCookie("COOKIE%2DID");
        loadMenu();
    } catch (pcbException) {
        reportError(pcbException);
    }
    }
    
    • На этой странице портала загружается наша текущая страница. В нижней части этой страницы мы имеем:

попробуй {

$ ( "# CR") удалить ();.

} улов (ех) { }

$ (документ) .ready (function () { оповещение (typeof $); // проверяем, выполняется ли метод RendererPageIsLoading (); // загружает данные в выпадающие списки и скрывает div });

Я использую последнюю версию jQuery (1.4.2). Редактировать : jquery загружается в разделе заголовка текущей страницы:

<script language="javascript" type="text/javascript" src="https://fulldomain/js/jquery.js"></script>

Следующая тема не принесла никаких решений: jQuery $ (document) .ready () не работает в IE6

Ответы [ 2 ]

3 голосов
/ 26 апреля 2010

Кто-то предположил (он удалил свой ответ позже), что присоединение метода к window.onload действительно отключило метод, определенный в событии $ (document) .ready (). Однако, поскольку ошибка произошла только при первой загрузке страницы, на мой взгляд, это должно быть проблемой с кешем.

После дальнейшего изучения мы обнаружили, что в IE6 возникли проблемы с прозрачным png, который загружался неправильно. Поэтому браузер ожидает загрузки изображения, а IE6 ждет изображений, прежде чем он вызовет событие готовности DOM.

Вывод: также проверьте наличие прозрачных изображений png при возникновении проблем с IE6.

0 голосов
/ 26 апреля 2010

Если вы добавляете скрипт непосредственно перед тегом "/ body", вам не нужно использовать:

$(document).ready(...);

Поскольку документ готов (строка из "/ body" и "/html").

Это действительно полезно, если у вас есть внешний файл JavaScript, который может загружаться быстрее, чем страница, - в этом случае он задерживает выполнение до готовности DOM (или в некоторых браузерах запросы DOM и HTTP ..., которые больше похоже на window.onload, который ожидает все изображения, например).

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