Как заставить jQuery load() не замораживать страницу?

При использовании функции загрузки jquery страница зависает до тех пор, пока не загрузится.

Как я могу обойти это?

У меня есть скрипт, который загружает все ссылки через ajax в div на странице. Я также сделал так, чтобы он перезагружал другой div (навигатор).

Пока это происходит, другой скрипт время от времени обновляется, перезагружая другой div.

Но если я останусь на странице, а та, которая время от времени обновляется, «перезагружается», страница зависнет, пока не загрузится.

Такое же поведение и у остальных.


person Tom    schedule 27.09.2009    source источник
comment
Объяснение того, что вы делаете, и предоставление примера кода, безусловно, увеличат ваши шансы на ответ, который даст вам решение с первого раза :)   -  person jakeisonline    schedule 27.09.2009
comment
Я обновил вопрос сейчас :)   -  person Tom    schedule 27.09.2009
comment
Странное поведение, не могли бы вы направить нас на страницу, чтобы мы могли заглянуть? Я думаю, единственным способом помочь здесь будет наблюдение за используемым кодом.   -  person jakeisonline    schedule 27.09.2009
comment
Я не смог воспроизвести это в Chrome, Firefox, Internet Explorer, Safari. Похоже, это может быть проблема с браузером - какой браузер/версию вы используете? Кто-нибудь еще заметил эту проблему?   -  person jakeisonline    schedule 27.09.2009
comment
я использую Firefox 3.5.3 на Mac. Не то, что я знаю из.   -  person Tom    schedule 27.09.2009
comment
Имеет ли значение, если я поставлю скрипт, открывающий ссылки через ajax load(), более одного раза на странице?   -  person Tom    schedule 27.09.2009
comment
Попробуй это сейчас. В некоторых моментах сафари полностью зависает.   -  person Tom    schedule 27.09.2009
comment
Э-э, если vapurl.com не является вашим настоящим сайтом, ваш vapurl испарился. Не могли бы вы опубликовать полную ссылку или tinyurl?   -  person Eric    schedule 27.09.2009


Ответы (2)


Я подозреваю, что это сильно зависит от того, что именно вы делаете в событии load(). Если ответ «ничего», это потребует других мер, чем если бы ответом было «прогулка по дереву DOM из 1000 элементов». Я собираюсь предположить, что вы делаете что-то в событии загрузки. Повышение производительности будет зависеть от рефакторинга и максимально возможной отсрочки обработки.

Также было бы полезно узнать, какой браузер вы используете. Разные браузеры по-разному реагируют на javascript.

person Dave Swersky    schedule 27.09.2009

Вы имеете в виду загрузку AJAX? Если вы разместили это в верхней части страницы, и на этой странице есть другие HTML-элементы, которые не нужно загружать, подумайте о том, чтобы разместить JavaScript внизу страницы, чтобы он был последним. загружен.

person jakeisonline    schedule 27.09.2009