Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2012, 13:43
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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

Добавил в конце скрипта prwin.document.close(); и все теперь работает.
Octane, огромное Вам спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить работать скрипт Highlight wfire jQuery 2 30.05.2011 10:22
Как заставить работать событие onLoad для embed slim-v Events/DOM/Window 0 16.09.2010 15:07
Заставить работать js подгружаемый AJAX -ом DeMONiZ AJAX и COMET 14 21.05.2010 10:52
как заставить jQuery работать с переменными gooody jQuery 1 19.02.2010 13:10
Как заставить работать оперу и мозилу? SDone AJAX и COMET 6 25.02.2009 16:05