Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Скрипт вывода на печать html страницы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

askarius

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен скрип "print that page"...
помогите, плиз...

Вывод на печать html страницы

 

Код:
<a href=# onClick="window.print()">распечатать</a>  

или print() вместо window.print()
Работает в NN4+, MSIE 5+.
 
Для совместимости с MSIE 4 можно сделать следующее:
- делаем функцию:

Код:
function printPage()
{
var n=navigator
if ((n.appName.indexOf('Explorer')> -1)&&(parseInt(n.appVersion))==4))
{IEControl.ExecWB(6,1)}
else
{window.print()}
}

- добавляем в коде страницы объект:

Код:
<OBJECT ID="IEControl" WIDTH==0 HEIGHT=0 CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>

- а ссылки "распечатать" оформляем так:

Код:
<a href=# onClick="printPage()">распечатать</a>





исправил название. Svarga

Всего записей: 64 | Зарегистр. 20-08-2002 | Отправлено: 19:01 25-10-2002 | Исправлено: Svarga, 04:12 20-06-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
askarius
 
<script type="text/javascript">
print("");
</script>
 
На Осле пашет всех версий.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:29 25-10-2002
askarius

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что-то я не понял.
у меня есть рисунок  
как при нажатии на рисунок сделать так, что бы страница печаталась?
 
куда этот скрипт писать?

Всего записей: 64 | Зарегистр. 20-08-2002 | Отправлено: 19:44 25-10-2002
GaRRiLL



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
askarius
В HTML-документ напиши.

Всего записей: 2431 | Зарегистр. 18-01-2002 | Отправлено: 19:47 25-10-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
askarius

Цитата:
как при нажатии на рисунок сделать так, что бы страница печаталась?  

 
 
Не, без воид ноль
 
Так:
 
<a href="javascript:print('')"><img scr=...
 
 
 
Добавлено
А можно и с воид ноль - туплю с синтаксисом, как  обычно
 
<a href="javascript:print('');void(0)">тест</a>

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:49 25-10-2002 | Исправлено: lynx, 19:52 25-10-2002
askarius

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все получилось, thanx

Всего записей: 64 | Зарегистр. 20-08-2002 | Отправлено: 20:06 25-10-2002
vba09

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
в IE6 появился preview
а можно ли вывести документ на просмотр через jscript аналогично
печати?
спасибо

Всего записей: 183 | Зарегистр. 06-02-2003 | Отправлено: 12:16 24-11-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vba09

Цитата:
в IE6 появился preview  
а можно ли вывести документ на просмотр через jscript аналогично  
печати?  

 
(перекопал MSDN — что-то там ни в командах, ни в методах ничего подобного нет)
 
Если можно, то скорее всего через
document.execCommand() и повесить это всё на onBeforePrint
только нужно команду знать, которую исполнять: напр., document.execCommand("SaveAs") — у меня 6-го ИЕ под рукой нет, поэксперементируй по аналогии с SaveAs с чем-то вроде printPreview, PrintPreview, PageSetup или с чем-то вроде того... Если что-то получится, плиз, кинь сюда рабочий вариант...
 
Добавлено:
Вот что-то попалось:

Код:
function printpr()
{
var OLECMDID = 7;
/* OLECMDID values:
* 6 - print
* 7 - print preview
* 1 - open window
* 4 - Save As
*/
var PROMPT = 1; // 2 DONTPROMPTUSER  
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);  
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = "";
}
Пробуй...


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 07:11 25-11-2003
vba09

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
to Svarga
спасибо function printpr()  работает
 
 
эх ещё бы альбомный лист установить сразу
как я понял через яву это не возможно  
или...?

Всего записей: 183 | Зарегистр. 06-02-2003 | Отправлено: 16:04 25-11-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 function printpr()  работает  

хорошо, бум знать )
 

Цитата:
эх ещё бы альбомный лист установить сразу  
как я понял через яву это не возможно  
или...?

Да кто их этих майкрософтовцев знает, чего они поддержку сделали, а чего нет — на офсайте молчат как партизаны... покопаюсь, может найду...


PS. если просто Print Preview надо, то функцию можно упростить:

Цитата:
function printpr()  
{  
var PROMPT = 1; // 2 DONTPROMPTUSER  
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser)
WebBrowser1.ExecWB(7, PROMPT)
WebBrowser1.outerHTML = ""
}  

 


PPS.
Цитата:
CLSID:8856F961-340A-11D0-A96B-00C04FD705A2

бр-р... интересно, хоть один майкрософтовец хоть парочку таких гадостей наизусть знает? Cut&Paste Programming, блин...


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 17:55 25-11-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vova yoyo

Цитата:
Мне нужно организовать пакетную печать, msdn пишет что startDoc и endDoc позволяют это сделать но как это применить в JScript я пока не нашел.  

http://msdn.microsoft.com/workshop/browser/hosting/printpreview/reference/behaviors/templateprinter.asp
MSIE 5.5+

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 13:05 02-02-2004
vova_yoyo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасиба за ссылочку, понять не могу как урелы загружать.

Всего записей: 6 | Зарегистр. 19-01-2004 | Отправлено: 13:48 02-02-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vova_yoyo

Цитата:
 понять не могу как урелы загружать.

ты о чём?

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 14:26 02-02-2004
vova_yoyo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
начну по порядку  
У меня задача открывать динамически страницы по URL печатать их и закрывать  
все работает только принтер воспринемает их как отдельные пакеты и не сортирует их.

Всего записей: 6 | Зарегистр. 19-01-2004 | Отправлено: 14:34 02-02-2004
pikador



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Господа, можно ли как-то модифицировать вышеприведенную функцию печати, чтобы печаталась только часть страницы (в моем случае таблица).
Пытался делать так javascript:print('document.<имя таблицы>'), но печатается вся страница.

Всего записей: 276 | Зарегистр. 18-10-2004 | Отправлено: 15:47 23-02-2006
u3AKPU



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikador
 создаешь новую страницу с таблитцей, печатаешь, закрываешь, в чем проблема?
я так делал, хотя интересно, можно ли правда отдельно объекты в print() отправлять?

Всего записей: 235 | Зарегистр. 13-10-2005 | Отправлено: 08:00 27-02-2006
MasMaX



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
 
<style type="text/css" media="print">
<!--
.no_print {
    display: none;
}
-->
</style>
 

И всё что печатать не надо заводишь в класс "no_print" (например через слой <div class="no_print"></div>).
 
Т.е. для тех, кто не в курсе media="print", это стили ТОЛЬКО для печати, на экран они не действуют, в media="screen", это наоборот, не влияют на принтер.

Всего записей: 279 | Зарегистр. 11-05-2005 | Отправлено: 01:57 03-03-2006 | Исправлено: MasMaX, 01:59 03-03-2006
maximcik239

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
предположим у меня есть страница где содержится новость
 
при выводе на печать у меня отображается:
1. Путь" Главная\Новости\Архив итд"
2. само содержание новости
 
так вот сам вопрос
как сделать так чтобы 1 пункт отображался на каждой странице вслучае если содержимое пункта 2 занимает несколько страниц?
 

Всего записей: 1 | Зарегистр. 07-05-2007 | Отправлено: 13:48 07-05-2007
SmikE1209

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже никто даже не пытался ставить код, приведенный выше для MSIE 4, ибо там ошибка:
function printPage()
{
var n=navigator
if ((n.appName.indexOf('Explorer')> -1)&&(parseInt(n.appVersion))==4) // в оригинале тут на 1 лишнию скобку больше
{IEControl.ExecWB(6,1)}
else
{window.print()}
}

Всего записей: 1 | Зарегистр. 23-01-2006 | Отправлено: 12:41 28-03-2008
dim0n282



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MasMaX
А можно по подробнее, как сделать так чтобы печаталась одна таблица, а не весь документ, покажите на примере с таблицей.

Всего записей: 47 | Зарегистр. 18-01-2008 | Отправлено: 17:13 28-04-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Скрипт вывода на печать html страницы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru