печать странички..
От: Basilkot Россия  
Дата: 04.12.06 08:23
Оценка:
привет, друзья!!

столкнулся с такой проблемой. мне необходимо по нажатию кнопочки на страничке распечатать её содержимое, но так чтобы кнопочки не печатались.

сделал следующее. есть кнопочка. её код такой:


<button title="Print" onclick="printall()" id="PrintAllButton"><img src="http://localhost/WebApplication1/WebForm1.aspx?image=print.gif" /></button>


код метода PrintAll


this.printEl=null;
this.printCount=0;
this.printallSharpShooterWebViewer1=function(){
  this.printEl=this.document.createElement("iframe");
  this.printEl.frameBorder = "0";
  this.printEl.style.width = "0";
  this.printEl.style.height = "0";
  this.printEl.name = "printElFrame" + printCount;
  this.printEl.id = "printElFrame" + printCount;
  this.printCount++;
  this.printEl.src = "http://localhost/WebApplication1/WebForm1.aspx?format=html&pages=all&action=print";
  this.document.body.appendChild(this.printEl);
}


то есть создаю ифрэйм, который будет отображать печатаемое. тело возвращаемой с сервера странички выглядит так:


<html>
<head>
<script language=""javascript"">
<!--
this.printreport=function(){
  window.focus();
  window.print();
}
-->
</script>
</head>
<body onload=printreport();>
Text
</body>
</html>


В ИЕ всё работает превосходно

Проблема в том что в мозиле это не работает. Как я понял вызывается онклик кнопочки, метод отрабатывает нормально, создаётся ифрэйм, но онлоад не срабатывает

подскажите что не правильно.. или предложите какой-нибудь альтернативный способ печати..

Сенкс ин адванс!
Best regards!
Re: печать странички..
От: greenya Украина  
Дата: 04.12.06 10:55
Оценка:
Здравствуйте, Basilkot, Вы писали:
...
B>
B><button title="Print" onclick="printall()" id="PrintAllButton"><img src="http://localhost/WebApplication1/WebForm1.aspx?image=print.gif" /></button>
B>

...

а button это контейнерный тег ?
вроде нет же. а если тебе нужно рисовать картинку вместо кнопки -- "img" с "onlick" или "input" с "type=image"
Re: печать странички..
От: vandy  
Дата: 04.12.06 11:27
Оценка:
посмотри в сторону

<style media="screen"></style>
<style media="print"></style>

Я лично так делаю версию для печати.


Здравствуйте, Basilkot, Вы писали:

B>привет, друзья!!


B>столкнулся с такой проблемой. мне необходимо по нажатию кнопочки на страничке распечатать её содержимое, но так чтобы кнопочки не печатались.


B>сделал следующее. есть кнопочка. её код такой:



B>
B><button title="Print" onclick="printall()" id="PrintAllButton"><img src="http://localhost/WebApplication1/WebForm1.aspx?image=print.gif" /></button>
B>


B>код метода PrintAll



B>
B>this.printEl=null;
B>this.printCount=0;
B>this.printallSharpShooterWebViewer1=function(){
B>  this.printEl=this.document.createElement("iframe");
B>  this.printEl.frameBorder = "0";
B>  this.printEl.style.width = "0";
B>  this.printEl.style.height = "0";
B>  this.printEl.name = "printElFrame" + printCount;
B>  this.printEl.id = "printElFrame" + printCount;
B>  this.printCount++;
B>  this.printEl.src = "http://localhost/WebApplication1/WebForm1.aspx?format=html&pages=all&action=print";
B>  this.document.body.appendChild(this.printEl);
B>}
B>


B>то есть создаю ифрэйм, который будет отображать печатаемое. тело возвращаемой с сервера странички выглядит так:



B>
B><html>
B><head>
B><script language=""javascript"">
B><!--
B>this.printreport=function(){
B>  window.focus();
B>  window.print();
B>}
-->>
B></script>
B></head>
B><body onload=printreport();>
B>Text
B></body>
B></html>
B>


B>В ИЕ всё работает превосходно


B>Проблема в том что в мозиле это не работает. Как я понял вызывается онклик кнопочки, метод отрабатывает нормально, создаётся ифрэйм, но онлоад не срабатывает


B>подскажите что не правильно.. или предложите какой-нибудь альтернативный способ печати..


B>Сенкс ин адванс!
Re: печать странички..
От: Аноним Великобритания  
Дата: 04.12.06 11:41
Оценка:
Basilkot wrote:

> то есть создаю ифрэйм, который будет отображать печатаемое. тело

> возвращаемой с сервера странички выглядит так:
Почитать о CSS, а конкретно о "@media print" и не маяться дурью.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: печать странички..
От: pashik.com Украина http://www.pashik.com
Дата: 04.12.06 13:20
Оценка:
Здравствуйте, Basilkot, Вы писали:

B>привет, друзья!!


B>столкнулся с такой проблемой. мне необходимо по нажатию кнопочки на страничке распечатать её содержимое, но так чтобы кнопочки не печатались.


B>сделал следующее. есть кнопочка. её код такой:



А почему бы в функции printall() не прятать все кнопки?
они тогда не будут отображаться при печати.
Re[2]: печать странички..
От: Basilkot Россия  
Дата: 06.12.06 03:56
Оценка:
Здравствуйте, vandy, Вы писали:


V>посмотри в сторону


V><style media="screen"></style>

V><style media="print"></style>

V>Я лично так делаю версию для печати.



Сорри, раскрыл тему не полностью. В ифрейме может отображаться не весь документ, а только его часть. И у меня 2 кнопочки для печати. одна печаатет текущую страничку, а вторая печатает весь документ сразу. как же быть в этом случае?
Best regards!
Re[3]: печать странички..
От: Аноним Великобритания  
Дата: 06.12.06 15:48
Оценка:
Basilkot wrote:

> V>Я лично так делаю версию для печати.

> Сорри, раскрыл тему не полностью. В ифрейме может отображаться не весь
> документ, а только его часть. И у меня 2 кнопочки для печати. одна
> печаатет текущую страничку, а вторая печатает весь документ сразу. как
> же быть в этом случае?
Вообще-то пользователь сам может решить что ему печатать, для этого есть print preview и возможность выбора страниц,
отправляемых на принтер.

Но если очень хочется, то можно сделать radio-кнопку "режим печати" — кратко/полно. И javascript будет прописывать
нужный class у body, а в .css описываешь, какой класс что отображает, а что скрывает.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.