Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jquery html() сжирает теги <body> 
V
    Опции темы
neoks
Дата 23.2.2012, 17:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



При вызове функции .html() пропадают теги <body><head>, подскажите можно их как то сохранить или может есть какой та плугин для сохранения smile
PM MAIL   Вверх
502
Дата 23.2.2012, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Я всегда прав
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 16.7.2011

Репутация: 1
Всего: 4



телепаты в отпуске  smile 
PM MAIL   Вверх
neoks
Дата 23.2.2012, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Ну я думал понятно, думаю все знаю что такое jquery  smile 
Ну ладно, попробую объяснить на примере.
Код

<div id="content">
<!DOCTYPE HTML>
<head>
<title>sl-cms2</title>
<meta name="keywords" content="" />
</head>
<body>
This is body!!!!
</body>
</html>
</div>


Вызов функции 
Код

var data = $('#content').html();
alert(data);


Результат
Код

<title>sl-cms2</title>
<meta name="keywords" content="" />
This is body!!!!


PM MAIL   Вверх
ksnk
Дата 23.2.2012, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



neoks, jQuery тут ни при чем. Сам броузер фигеет от того, что ему подсовывают корявый html и убирает странные с его точки зрения теги.
Проверить это довольно легко - достаточно посмотреть FireBug'ом на структуру документа после вставки такого куска.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
neoks
Дата 23.2.2012, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Блин, как я сам не додумался посмотреть, тогда вопрос как это дело провернуть ?  smile 
Замена не подходит, а все это дело нуно оставить, интересно как сказать браузеру чтоб не трогал не чего )
PM MAIL   Вверх
bars80080
Дата 23.2.2012, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(neoks @  23.2.2012,  21:35 Найти цитируемый пост)
а все это дело нуно оставить, интересно как сказать браузеру чтоб не трогал не чего

браузер всё-таки понимает стандарты html, поэтому ему сказать ничего нельзя.
а оставить код не соответствующий стандартам, всё равно что ругаться на компилятор, который отказывается делать программу с синтаксическими ошибками
PM MAIL WWW   Вверх
Evghenusi
Дата 23.2.2012, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 1
Всего: 15



глупость наверно скажу  smile , но в айфрэйм этот код засунуть нельзя?
PM WWW   Вверх
neoks
Дата 24.2.2012, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Все и так в айфрэйме
Пробовал:
Код

$('#iframe').contents().html();


Не помогло, null возвращает, нужно каким то макаром все достать а как хз )
PM MAIL   Вверх
Evghenusi
Дата 24.2.2012, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 1
Всего: 15



1) neoks, в вашем примере айфрэйм не разглядел.
2) после того как сообщение оставил, попробовал сам, получилось, но contents() не использовал, взял ваш пример и просто div сменил на iframe
PM WWW   Вверх
neoks
Дата 24.2.2012, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Ну такc, contents() служит для связи с тегом <iframe> и поиск внутри него, а я оттуда и беру html, но мне нужно все что содержит iframe внутри оттуда достать, как говорил bars80080 теги ставить нельзя перед <!DOCUMENT>, так как же мне достать весь HTML пока ума не приложу  smile

Добавлено @ 00:33
Код

<iframe src="data.html" id="iframe"></iframe>

Код

$('#iframe').html();

Результат пустой )

Это сообщение отредактировал(а) neoks - 24.2.2012, 00:33
PM MAIL   Вверх
Evghenusi
Дата 24.2.2012, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 1
Всего: 15



видимо я суть не улавливаю  smile 
Цитата(neoks @  24.2.2012,  00:31 Найти цитируемый пост)
contents() служит для связи с тегом <iframe>
поздравляю
Цитата(neoks @  24.2.2012,  00:31 Найти цитируемый пост)
и поиск внутри него
ещё раз поздравляю

Цитата(neoks @  24.2.2012,  00:31 Найти цитируемый пост)
но мне нужно все что содержит iframe внутри оттуда достать
Цитата(Evghenusi @  24.2.2012,  00:12 Найти цитируемый пост)
после того как сообщение оставил, попробовал сам, получилось, но contents() не использовал, взял ваш пример и просто div сменил на iframe 
зачит так не подходит? почему?

Цитата(neoks @  24.2.2012,  00:31 Найти цитируемый пост)
как говорил bars80080 теги ставить нельзя перед <!DOCUMENT>
я вроде бы не предлогал что либо ставить перед доктайпом

Добавлено @ 00:39
Цитата(neoks @  24.2.2012,  00:31 Найти цитируемый пост)

Результат пустой )
 smile , а вот это уже интересно

Добавлено @ 00:43
http://jsfiddle.net/SxvzK/
вот то что при таком "методе" некоторые символы заменяются HTML сущностями - признаю  smile , но за-то все тэги  smile 

Это сообщение отредактировал(а) Evghenusi - 24.2.2012, 01:00
PM WWW   Вверх
neoks
Дата 24.2.2012, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Не знаю как там сервиcы работают, но!, iframe не так пишется а пишется вот так и для этого нужен contents()
index.html
Код

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <title></title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
    <iframe src="iframe.html" id="content"></iframe>
    <script>
    var data = $('#content').html();
    alert(data);
    </script>
</body>
</html>

iframe.html
Код

<!DOCTYPE HTML>
        <head>
        <title>sl-cms2</title>
        <meta name="keywords" content="" />
        </head>
        <body>
        This is body!!!!
        </body>
        </html>

Результат пустой, вот о чем я говорил  smile 
PM MAIL   Вверх
Evghenusi
Дата 24.2.2012, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 1
Всего: 15



neoks, раз вы так хорошо знаете что и как пишется, и что для чего нужно, то в чём проблема?  smile 
PM WWW   Вверх
neoks
Дата 24.2.2012, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Ну проблема в том что я не могу достать весть HTML из фрейма так как не знаю каким макаром, один способ есть но как я говорил пропадают теги <body><head>  smile 
PM MAIL   Вверх
Evghenusi
Дата 24.2.2012, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 1
Всего: 15



хммммм, что-то где не смотрю везде после contents() используется метод find(), но нигде не показанно как получить весь html)
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.