Показать сообщение отдельно
  #7 (permalink)  
Старый 27.03.2013, 23:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Народ, потестите мой код ( у меня просто принтера нету )
<!DOCTYPE html>
<meta charset="utf-8" />
<button onclick="printImage()">Печать</button>
<div id="image"><img src="http://ikeep.ws/uploads/posts/2011-08/1313657478_1235508295_vo_iguasu_br_3.jpg" /></div>
<script>
function printImage() {
    printHTML(document.getElementById('image').innerHTML);
}

function printHTML(html) {
    var frame = document.createElement('iframe');
	frame.style.cssText = 'border:none;position:fixed;left:100%;';
	frame.onload = function() {
		var cssText = 'body{display:none} @media print{body{display:block}}';
		var style = this.contentDocument.createElement('style');
		if (style.readyState == 'loading') {
			style.onreadystatechange = function() {
				alert(this.readyState);
				if (this.readyState = 'complete') {
					this.sheet.cssText = cssText;
				}
			}
		} else {
			style.textContent = cssText;
		}
		this.contentDocument.getElementsByTagName('head')[0].appendChild(style);
		this.contentDocument.body.innerHTML = html;
		this.contentWindow.print();
		setTimeout(function(){
			frame.parentNode.removeChild(frame);
		}, 0);
	}
	document.body.appendChild(frame);
}
</script>

В хроме работает.
Ответить с цитированием