Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Ссылка вывода на печать


Автор: Leia 5.9.2006, 21:26
Помогите, плиз. Имеется html-страничка с небольшой фотографией. рядом должна быть ссылка - "распечатать фото". При нажатии на печать должно посылаться оригинальное изображение. Как сие реализовать? У меня пока только одна мысль - ссылка должна вести на оригинальное jpg изображение (большого формата) и как только оно загружается (на новой страничке) автоматически открывается окно печати. Да и это не знаю как осуществить технически. Если можно обойтись без открытия в новом окне оригинального изображения - еще лучше. Помогите, пожалуйста, буду очень признательна. :-)

Автор: skyboy 5.9.2006, 21:34
javascript - метод print имеется в наличии у объекта window, как в IE, так и в Gecko.
Т.е. либо необходимо загружать картинку во фрейм  и вызывать document.frames[0].window.print(); или же  (такой вариант сама предложила) создавать новый документ только с картинкой и по загрузке(событие onload для body) вызывать document.window.print();

Автор: Leia 5.9.2006, 21:47
ок, тогда можно поподробней, какой код и куда воткнуть? :-)

Автор: skyboy 5.9.2006, 22:15
насколько далеко простирается (не)знакомство с javascript? полный скрипт писать не буду(да и не знаю специфики - потому не смогу), а обьяснять "с азов" лениво... в чём загвоздка?

Автор: Leia 5.9.2006, 22:17
Цитата(skyboy @  5.9.2006,  22:15 Найти цитируемый пост)
насколько далеко простирается (не)знакомство с javascript?

хмхм.. очень далеко. ну очень. короче незнакома я с ним. :-))

Автор: skyboy 5.9.2006, 22:41
как страница реализована? я тебе уже 99% кода дал. осталось соввсем немного.
Цитата

какой код и куда воткнуть?

Какой код? У тебя на фреймах можно будет сделать, чтоб на фрейм - одно изображение?  Тогда код будет тот, который я привёл.
Код

document.frames[0].window.print();

Только номер фрейма может быть другим.
Куда воткнуть?
Цитата

рядом должна быть ссылка - "распечатать фото". При нажатии на печать должно посылаться оригинальное изображение.

Как ни странно, этот код должен вызываться кликом по "твоей" ссылке. Интересно, правда? smile
Код

<a href="noscript.php" onclick="document.frames[0].window.print(); return false;">print</a>

noscript.php сформирует сообщение о том, что для печати нужен включенный javascript и выдаст картинку, чтоб можно было распечатать "вручную". Если javascript включен, то в обработчике "return false;" предотвратит переход по ссылке после печати содержимого фрейма с картинкой. Если же фрейма нет, то надо создать окно... впрочем, код завтра уже напишу, как отосплюсь.

Автор: Leia 8.9.2006, 23:26
Цитата(skyboy @  5.9.2006,  22:41 Найти цитируемый пост)
Какой код? У тебя на фреймах можно будет сделать, чтоб на фрейм - одно изображение? 


наверное я туплю, но у меня нет фреймов на странице.  smile 

Автор: skyboy 9.9.2006, 21:36
хм. ты не понимаешь. я и не говорю, что у тебя есть фреймы. ты спрашиваешь: как печатать? я объясняю, что метод print() есть у объекта window, которое является свойством либо всей стрницы  - document.window.print() [при использовании этого подхода необходимо формировать новое окно и пихать в него картинку], также свойство window есть у каждого фрейма на странице [значит, можно загружать картинку в отдельный фрейм на странице и печатать её(картинку) без создания дополнительного окна]. А  как у тебя реализовано - это твоё сугубо личное дело. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)