Показать сообщение отдельно
  #1 (permalink)  
Старый 07.02.2012, 13:37
Новичок на форуме
Отправить личное сообщение для Сергей85 Посмотреть профиль Найти все сообщения от Сергей85
 
Регистрация: 12.12.2011
Сообщений: 4

Заставить работать window.print();
Всем привет!
Сразу хочу сказать, что я не программист, и почти не имею опыта на javascript. Поэтому обращаюсь сюда за помощью.
-------------
Реализован механизм "Версия для печати" с помощью готового скрипта, который не сложно найти в нете (скрипт формирует новое окно без лишних стилей, в которое вставляет контейнер с нужным содержимым и есть ссылки распечатать и закрыть):
Это пишется в <Head>

function atoprint(aId) {
    var atext = document.getElementById(aId).innerHTML;
    var captext = window.document.title;
    var alink = window.document.location;
    var prwin = open('');
    prwin.document.open();
    prwin.document.writeln('<html><head><title>Версия для печати<\/title><\/head><body text="#000000" bgcolor="#FFFFFF"><div onselectstart="return false;" oncopy="return false;">');
    prwin.document.writeln('<div style="margin-bottom:5px;">[B]<a href="javascript://" onclick="window.print();">Печать<\/a>[/B] • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div><hr>');
    prwin.document.writeln('<h1>'+captext+'<\/h1>');
    prwin.document.writeln(atext);
    prwin.document.writeln('<hr>');
    prwin.document.writeln('<div style="font-size:8pt;">Страница материала: '+alink+'<\/div>'); 
    prwin.document.writeln('<div style="margin-top:5px;">[B]<a href="javascript://" onclick="window.print();">Печать<\/a>[/B] • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div>');
    prwin.document.writeln('<\/div><\/body><\/html>');
  }


Теперь нужно пометить ту часть материала, которую выведем на печать. Это сделаем при помощи DIV:

<div id="MessForPrint">Тут текст сообщения для печати...</div>

Теперь сделаем ссылку, по которой будем открывать окно с облегченным текстом.

<a href="javascript://" onclick="atoprint('MessForPrint');">Версия для печати</a>

То что я выделил жирным работает в Chrom и FireFox но не работает в IE и Opera. В этом и состоит проблема.
Вот сделал наглядную работу скрипта для примера: mr-bin-1.narod.ru/demi.html

Последний раз редактировалось Octane, 07.02.2012 в 13:41. Причина: http://javascript.ru/formatting
Ответить с цитированием