Загрузка HTML-страницы без ожидания загрузки определенных частей

У меня есть простая HTML-страница, которая содержит много частей, из которых одна часть

<div id="external_data">...</div>

рендерит данные из внешнего источника и загружает. Загрузка занимает очень много времени, поэтому все остальные части страницы также ждут, пока загрузится этот раздел.

Есть ли способ использовать jQuery или что-то еще, чтобы установить содержимое <div id="external_data"> в loading image и загрузить остальную часть страницы, не завися от этого раздела? и как мне этого добиться?


person user2354302    schedule 18.09.2013    source источник
comment
да, есть способ сделать это с помощью jQuery, спасибо за вопрос.   -  person dandavis    schedule 19.09.2013
comment
Что вы пробовали? Какой у вас код javascript? Как загружается этот внешний код?   -  person Vlad    schedule 19.09.2013
comment
Хорошо. Это хорошо знать. Как, любые ресурсы, пожалуйста? Я ничего не пробовал, так как не знаю, с чего начать. Внешние данные заполняются в HTML из внутреннего скрипта.   -  person user2354302    schedule 19.09.2013
comment
@user2354302 user2354302 Мы здесь не для того, чтобы проводить за вас исследования. Исследуйте и попытайтесь решить ее самостоятельно. Когда у вас есть реальная проблема, которую вы можете воспроизвести, используя относительно небольшой фрагмент кода, ТОГДА приходите к ТАК.   -  person Kevin B    schedule 19.09.2013


Ответы (1)


Если содержимое этого div отображается на стороне сервера и обслуживается остальной частью страницы, вы можете выбрать два варианта:

1) Служите странице с div, содержащим указанную вами графику загрузки, а затем используйте jQuery для загрузки содержимого div с помощью $.post или $.get при загрузке страницы. Это позволит обслуживать страницу без какой-либо внутренней логики, которая у вас задерживает все остальное.

2) Если вам не нравится использовать $.post или $.get, вы можете поместить iFrame в этот div, который ссылается на другую страницу с содержимым div. Это будет загружаться отдельно от страницы, поэтому не будет задерживаться. Однако имейте в виду, что iFrames иногда ведут себя странно между браузерами с точки зрения размера, границ и т. д. Убедитесь, что ваш код протестирован во всех основных браузерах (в основном IE), чтобы убедиться, что он выглядит нормально во всех из них.

person Feussy    schedule 18.09.2013