как достать внутренности тэга <STYLE> средствами JavaScript?

  • Автор темы Хрюн Моржов
  • Дата начала

Хрюн Моржов

Guest
как достать внутренности тэга <STYLE> средствами JavaScript?

сабж.

кто занет подскажите пожалуйста - возможно ли это вообще?
если да то как :)

-~{}~ 27.04.05 15:42:

PS: что то типа innerHTML
 

Krisha

pain in the neck
Хрюн Моржов
Судя по вопросу ты что-то делаешь идеологически неверно, опиши саму задачу и как ты ее пытаешься решить.
 

Хрюн Моржов

Guest
Задача такая:
На внутренних страницах сайта должна быть ссылка "Версия для печати". При клике на данную ссылку должно открываться новое окно, содержащее только текст из текущего раздела (без элементов дизайна).
Дело в том что текущий раздел может быть не только текстовым разделом но и любым другим (т.е. текста может и не быть) + у некоторых разделов может быть как бы дополнительные меню (список внтуренних разделов) + надо учитывать постраничную навигацию.
все это должно выходить на печать.

делаю так:
обрамляю все нужное дивом <div id=toprint>,
по собыию:
PHP:
function toPrint()
{
    obj = document.getElementById('toprint');
    win = open()
	win.document.write( '<head><title><?=GetSiteName();?></title></head>' )
    win.document.write( '<body bgcolor=#FFFFFF>' )
	win.document.write( obj.innerHTML+'</body>' )
}
закавыка в том что стили подлючаются PHP инклюдом в топе, и менять это не хотелось бы.
 

Кром

Новичок
Тебе нужно передать на страницу для распечатки всего один параметр, это - id статьи. Все остальное нужно генерировать отдельно, через обращение к серверу.
 

Хрюн Моржов

Guest
т.е. мне на странице "Версия для печати" нужно опять генерировать подменю?
А если это список новостей по 10 на страницу то нужно их заного достовать из базы и с учетом текущей страницы выводить?
Карту сайта заного генерить?
зачем? если это уже всё один раз сделано?
id статьи может и не быть так как и самой статьи может и не быть.
мне нужно распечатывать шаблоны - а они могут быть чем угодно - статьёй, списком, формой...

-~{}~ 27.04.05 18:59:

может перенести эту тему в PHP + JavaScript + HTML ?
 

Кром

Новичок
Обычно шаблоны для печати разительно отличаются от веб шаблонов, поэтому повторная генерация позволит откинуть массу ненужных деталей.

Что касается самого css, то тут есть возможность задавать css стили для распечатки на принтере. Подробности можешь поискать на http://www.w3c.org/
 

Хрюн Моржов

Guest
другими словами никто не знает как достать внутренности тэга <stуle> ? :(
 

Кром

Новичок
>другими словами никто не знает как достать внутренности тэга <stуle> ?

Скажем так, никто не вырезает гланды через одно место.
 

y4an

Новичок
достучаться до стилей элемента можно к примеру так (меняем границы дива):
div = document.getElementById('toprint')
div.style.borderWidth = "1px";
div.style.borderStyle = "solid";
div.style.borderColor = "#aaaaaa";

таким образом меняем нужные атрибуты
 

Raziel[SD]

untitled00
Хрюн Моржов
http://www.w3.org/TR/CSS21/media.html
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/style.asp
 

slach

Новичок
Raziel правду говорит

грамотное применение CSS и атрибут media
спасут отцов русской демократии...
уверяю вас
 

Хрюн Моржов

Guest
Извините, но @media print - не совсем то что нужно :(
Заказчик хочет именно созерцать страницу "версия для печати" на экране своего монитора перед её распечаткой, а не что бы после нажатия "print" распечатывалось только то, что нужно.
Но всё равно всем спасибо :)
Я решил всё таки подключать стили через
PHP:
win.document.write( '<link rel="StyleSheet" href="style.css" type="text/css">' )
, хотя можно было ещё и передавать управляющему скрипту ?print=yes и уже тогда разруливать что генерить, но пока решил не запариваться.

-~{}~ 28.04.05 18:03:

Ура! нашел способ до гланд добраться через то самое место ! :)
блин! как сам не догадался ? :))
везде же написано что getElementsByTagName возвращает коллекцию
а я бивень обращался document.getElementsByTagName("style").innerHTML

а надо: document.getElementsByTagName("style")[0].innerHTML

Всем спасибо !!!
 

Raziel[SD]

untitled00
Хрюн Моржов
рекомендую посмотреть не только первую ссылку, но и вторую.
 
Сверху