2014-11-28 5 views
0

Я хочу загрузить полные страницы где-нибудь в DOM и держать их в своих «контейнерах» для показа и скрытия.Получить всю страницу в контейнере и скрыть/показать ее без перезагрузки

До сих пор я пытался:
1) Загрузка страницы в DIV, но некоторые вещи, как фоновое изображение и CSS становятся из «контейнера», даже если его скрытый так:

$("#page" + index).hide().load(url); 


2) Если я буду загружать его в:

$("#page" + index).html('<object data="' + url + '">'); 

он держит страницу внутри контейнера, но когда я использую JQuery показать/скрыть это перезагружает каждый раз.


Я не пробовал iframe, но с фреймами я предполагаю, что какая-то страница займет экран.

Вы знаете, как это сделать?

ответ

0

Имеет ли ваш URL-адрес дополнительный набор тегов html, head или body? Документы Html должны содержать только один набор из них.

+0

Да, Он содержит собственный HTML и т.д. теги. – Jask

0

Возможно, вы не хотите загружать целые документы (со всеми сведениями заголовка/тела и т. Д.) В элементы другого документа; с ними будет трудно работать.

Вы можете использовать jQuery.load с фильтром, чтобы загружать только элементы определенного класса, т. Е. Помещать один большой div вокруг содержимого, которое вы действительно хотите втянуть, а затем использовать его для фильтрации на загрузку jquery.

Загрузка страницы Фрагменты

Метод .load(), в отличие от $ .get(), позволяет указать часть удаленный документ должен быть вставлен. Это достигается с помощью специального синтаксиса для параметра url. Если один или несколько символов пробега: , включенный в строку, часть строки, следующая за первым , считается селектором jQuery, который определяет загружаемое содержимое .

Мы могли бы изменить в приведенном выше примере, чтобы использовать только часть документа скачиваются:

$ ("#RESULT") .load ("Аякса/test.html #container"); Когда этот метод выполняет, он извлекает содержимое ajax/test.html, но затем jQuery анализирует возвращенный документ, чтобы найти элемент с идентификатором контейнера . Этот элемент вместе с его содержимым вставляется в элемент с идентификатором результата, а остальная часть извлеченного документа отбрасывается.

jQuery использует свойство браузера .innerHTML для анализа извлеченного документа и вставки его в текущий документ. Во время этого процесса браузеры часто фильтруют элементы из документа, например , или элементы. В результате элементы, полученные с помощью .load(), могут быть не такими, как если бы документ был получен непосредственно у браузера.

Отсюда:

http://api.jquery.com/load/

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

  • Нет связанных вопросов^_^