Заставить работать 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 |
document.close() добавьте
|
Добавил в конце скрипта prwin.document.close(); и все теперь работает.
Octane, огромное Вам спасибо! :) |
Часовой пояс GMT +3, время: 19:09. |