2014-01-22 2 views
1

Я разрабатываю страницу, которая загружает некоторый контент в div.JQuery асинхронная загрузка только часть документа

Я использую

$("#divid").load("page.php"); 

Эта страница содержит CSS, а также.

Проблема возникает, когда я пытаюсь проверить содержимое с помощью firebug, похоже, что одно и то же правило CSS применяется несколько раз.

Является ли это ошибкой моего кода или что-то вроде «ожидаемого» при использовании jquery?

Могу ли я загрузить только часть кода?

ответ

2

Должно работать так. В основном метод .load() будет анализировать HTML и вставлять его в div.

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

Самый простой способ исправить вашу проблему заключается в следующем:

$('#divURLContent').load('page.php body'); 

, который будет загружаться только «тело» часть page.php. В общем, вы не должны загружать целую страницу внутри div, а просто фрагменты кода.

Посмотрите здесь для дальнейшего использования: Jquery to load a page overrides my CSS

0

Да, если вы загрузили страницу HTML со стилями CSS внутри, то эти стили будут включены в текущих страницах, а также.

Я предлагаю вам иметь внешние файлы css вместо встроенных стилей, например, вы сейчас делаете

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