2009-08-18 2 views
8

Я не имею в виду предварительную загрузку изображений, я хочу предварительно загрузить HTML-страницу с помощью JQuery.Можно ли предварительно загрузить HTML-страницу перед ее отображением?

+0

Да, но это помогло бы узнать, почему вы это делаете и какой эффект вы хотите достичь, иначе ответ, который вы получите, вероятно, будет не так полезен, как мог бы. –

ответ

9

Ajax содержание в то использовать, как вы хотите:.

var myPrefetchedPage; 
$.ajax({ 
    url: "test.html", 
    cache: false, 
    success: function(html){ 
    myPrefetchedPage = html; 
    } 
}) 

myPrefetchedPage теперь полное содержание - который может быть введен в текущую страницу (полностью заменить страницу, если требуется

Если вы просто пытаетесь максимально использовать кеширование, скрытый iFrame может работать лучше. Затем вы можете использовать jQuery для циклического преобразования iframe src для извлечения нескольких страниц.

+0

Thanks! Я думаю, это то, что мне нужно, мне нужно было только кэшировать js, связанные со страницей, а не с самой страницей html. – HyderA

2

Почему да! Вы могли бы сделать что-то вроде iframe для вашего контента, выборки контента отдельно, а затем заполнения кадра.

4

Вы можете поместить все в div, который не виден, и как только документ будет готов, сделайте div видимым - хотя это действительно не «предварительная загрузка» - это просто ничего не отображается, пока все не загрузится ,

0

Установите класс на тело, чтобы скрыть его, затем удалите его с помощью Javascript в событии onload.

(Но почему вы хотели бы сделать это еще один вопрос.)

0

Да, вы можете загрузить страницу через jQuery.get, а затем сделайте то, что хотите с ним (в строчной форме) до displaying. Если вы вставляете его в скрытый контейнер, вы можете сначала его обработать с помощью DOM.

0

Вы можете использовать: Браузер загрузит активы и отобразит всю страницу в фоновом режиме. Когда пользователь нажимает на ссылку «ваша страница», страница будет отображаться почти мгновенно.

Смежные вопросы