![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| DumpEX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.12.2007 Репутация: нет Всего: нет |
Здравствуйте. У меня такая проблема. Мне необходимо в JS-объекте сначала вырезать все дочерние для <body> теги вместе с атрибутами из xhtml-страницы, а потом вернуть их на свои места. Регулярные выражения использовать не имею возможноcти, нужен DOM.
Вроде бы возникла идея сделать это через цикл, вглубь childNodes, начиная от window.document.childNodes[0].childNodes[1] (т.е. от body), но всё равно до конца сообразить как это лучше сделать не могу =( |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Странные вещи рассказываете... Попробуйте еще раз - что же на самом деле надо?...
Это как это ? не умеете пользоваться регулярками? Или заказчик требует "через Дом..."? ;-)
Что такое - вырезать? Аналог striptags? Зачем обязательно возвращать? Может просто старый объект вспомнить?... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Я так понял, Вам нужно оставить только текст, потом его обработать и вернуть форматирование. Или как то подругому?
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| DumpEX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.12.2007 Репутация: нет Всего: нет |
ksnk, да, заказчик требует DOM. Можно и вспомнить старый объект, не принципиально. Главное - выделить весь текст в одну переменную, убрав из него все теги.
Ghirik, вы абсолютны правы, именно это мне и нужно. |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Нужно именно оригинальное форматирование или можно просто изъять все данные, сложить их в базу, а потом, динамически выводить в любой формат страницы. Я про это заговорил, потому, что занимался переводом на русский язык каталога dmoz, и там была похожая ситуация. Дак вот, вариант с базой оказался самым правильным. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| DumpEX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.12.2007 Репутация: нет Всего: нет |
Нeт, формaтированиe нужно имeнно оригинальное. В общем суть такова - есть русский тeкст со всeвозможными тeгами. Необходимо нa клиeнтской стороне расставить в нём пeрeносы, не затрагивая, ясноe дeло, сами тeги. Для рaсстановки пeрeносов по всем прaвилам русского языкa будет использоваться парсeр, а вот от самих тeгов надо избавиться чeрeз DOM. А потом вeрнуть их на место, только уже в текст с пeрeводaми. Немного нетривиально, согласeн. Но надо сделать именно так.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Обычно такое делается на сервере... заставлять клиента самого форматировать наш текст как-то не красиво
Вот, какой-то пример "обхода Дома":
Насчет корректности всего этого добра я бы подумал так как в IE текстовыми нодами считаются еще и script, но, за исключением этого, вроде все Ok. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| DumpEX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.12.2007 Репутация: нет Всего: нет |
Хм, алерт мне выводит пустой [], как будто ни одного тега в body нет. Даже при простейшем body:
Какие требования должны быть к самому HTML-файлу? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
А у меня, вроде работает ...
Проверил под IE 6.0 FF и Оперой 9.25 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Ghirik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Попробуйте так брать body:
Только укажите так доктип
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||
|
|||||
| DumpEX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.12.2007 Репутация: нет Всего: нет |
А, понял. Алерт ерунду выводит, когда сам находится в подключаемом js-файле, он видимо не видит body. А когда из самого html вызывается, то всё нормально.
ksnk, Ghirik , разобрался, спасибо!
На похожую мою фразу заказчик сказал - "Зачем грузить сервер, если можно грузить клиентов?" =) |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |