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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CSS таблица "разбирается" на составные... 
:(
    Опции темы
Pena
  Дата 15.2.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

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



Допустим у меня есть страница вида:
Код

<HTML>
   <Head>
      <Style>
         .class1 { width: 1px; height: 2px;  cursor: hand; ... }
         .class2 { text-align: right; border: 1px solid black; ... }
         .class3 { margin: 300px; ... }
      </Style>
   </Head>
   <Body>
      <div class="class2">...</div>
      <div class="class1">...</div>
      <div class="class3">...</div>
   </Body>
</HTML>

В ней мне нужно оставить только само содержимое страницы (без <HTML>,<Head>,<Body>...), но сохранив при этом оформление, т.е. так:
Код

<div style="width: 1px; height: 2px;  cursor: hand; ...">...</div>
<div style="text-align: right; border: 1px solid black; ...">...</div>
<div style="margin: 300px; ...">...</div>

"Внимание вопрос" (с): А это как?))
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
vasac
Дата 15.2.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



document.body.innerHTML
PM WWW   Вверх
Pena
Дата 15.2.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


КорнеплодЪ
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 20.4.2006
Где: эРэФия, аул Москв а...

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



 smile 
--------------------
Самовар по всем вопросам - сильно не ругайте 
PM   Вверх
SelenIT
Дата 15.2.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



vasac, боюсь этого не хватит - автору ведь нужно подхватить актуальные стили...

Pena, написать полноценный CSS-парсер на JS - далеко не тривиальная задача (нужно ведь будет учесть каскадирование, наследование свойств и т.п.). Так что если основная цель - сохранить текущее результирующее оформление, имхо лучше воспользоваться специальными средствами - свойством currentStyle в IE и методом document.defaultView.getComputedStyle в остальных:
Код

function htmlize(elem) {
  for (var i=0; child = elem.childNodes[i]; i++) {
    // пропускаем текстовые узлы в Gecko
    if (child.nodeType != 1) continue;
    // снимаем текущий результирующий стиль
    var curStyle = child.currentStyle || document.defaultView.getComputedStyle(child, null);
    // пытаемся явно назначить текущие значения всем стилевым свойствам
    for (var prop in curStyle) {
      try {
        child.style[prop] = curStyle[prop];
      } catch(e) {}
    }
    // рекурсивно вызываем для всех потомков
    if (child.childNodes && child.childNodes.length) {
      htmlize(child);
    }
  }
  return elem.innerHTML;
}

onload=function() { alert(htmlize(document.body)); }

Только не удивляйтесь тому, что в результате будет немножко больше текста, чем в исходном CSS smile


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


 




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


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

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