Вам не нужно делать это с Javascript. Просто используйте правило @media
в вашем документе CSS.
Вы можете написать все эти вещи только в одном файле CSS. Вот конкретная W3C документация
@media screen {
/* all your fancy screen css with a bunch of animation stuff*/
}
@media print {
/* all your fancy print css just plain */
}
Вы можете написать очень конкретные объявления и сопоставить все элементы с вашими потребностями. Между прочим, поддерживается до IE6 . Работает как шарм в наших проектах.
@media print {
body { font-size: 10pt }
}
@media screen {
body { font-size: 13px }
}
@media screen, print {
body { line-height: 1.2 }
}