Перестал работать скрипт для печати картинки в Хроме и Опере.
Здравствуйте, уважаемые знатоки! Помогите пожалуйста в решении моей проблемы. Я всегда пользовалась вот этим кодом для вывода на печать картинки. Все работало во всех браузерах, а теперь в Хроме и Опере выдаёт в окне печати пустой лист. Как мне это исправить?
<a onClick="javascript:CallPrint('print-content');" title="Распечатать раскраску"> <img src="images/my_images/print1.jpeg" width="130" height="30" onmouseover="this.src='/images/my_images/print2.jpeg';" onmouseout="this.src='/images/my_images/print1.jpeg';" style="float: right;" /></a> <a href="адрес картики" download="raskraska.jpg"><img src="images/my_images/download1.jpeg" width="130" height="30" onmouseover="this.src='images/my_images/download2.jpeg';" onmouseout="this.src='images/my_images/download1.jpeg';" style="float: left;" /></a> <div id="print-content"> <img src="адрес картинки" alt="Раскраска"/> </div> <script language="javascript"> function CallPrint(strid) { var prtContent = document.getElementById(strid); var prtCSS = '<link rel="stylesheet" href="/templates/css/template.css" type="text/css" />'; var WinPrint = window.open('','','left=50,top=50,width=800,height =640,toolbar=0,scrollbars=1,status=0'); WinPrint.document.write('<div id="print" class="contentpane">'); WinPrint.document.write(prtCSS); WinPrint.document.write(prtContent.innerHTML); WinPrint.document.write('</div>'); WinPrint.document.close(); WinPrint.focus(); WinPrint.print(); WinPrint.close(); prtContent.innerHTML=strOldOne; } </script> |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Спасибо. Я попробую.
<a onClick="javascript:CallPrint('print-content');" title="Распечатать раскраску">
<img src="images/my_images/print1.jpeg" width="130" height="30" onmouseover="this.src='/images/my_images/print2.jpeg';"
onmouseout="this.src='/images/my_images/print1.jpeg';" style="float: right;" /></a>
<a href="адрес картики"
download="raskraska.jpg"><img src="images/my_images/download1.jpeg" width="130" height="30"
onmouseover="this.src='images/my_images/download2.jpeg';" onmouseout="this.src='images/my_images/download1.jpeg';" style="float: left;" /></a>
<div id="print-content">
<img src="адрес картинки" alt="Раскраска"/>
</div>
<script language="javascript">
function CallPrint(strid)
{
var prtContent = document.getElementById(strid);
var prtCSS = '<link rel="stylesheet" href="/templates/css/template.css" type="text/css" />';
var WinPrint = window.open('','','left=50,top=50,width=800,height =640,toolbar=0,scrollbars=1,status=0');
WinPrint.document.write('<div id="print" class="contentpane">');
WinPrint.document.write(prtCSS);
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.write('</div>');
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
prtContent.innerHTML=strOldOne;
}
</script>
|
А каков размер картинки которую вы хотите распечатать?
Может быть она просто не успевает загрузиться? |
Попробуйте писать вместо
function CallPrint(strid) {
var prtContent = document.getElementById(strid);
var prtCSS = '<link rel="stylesheet" href="/templates/css/template.css" type="text/css" />';
var WinPrint = window.open('','','left=50,top=50,width=800,height =640,toolbar=0,scrollbars=1,status=0');
WinPrint.document.write('<div id="print" class="contentpane">');
WinPrint.document.write(prtCSS);
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.write('</div>');
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
prtContent.innerHTML=strOldOne;
}
написать так:
function CallPrint(strid) {
var prtContent = document.getElementById(strid);
var prtCSS = '<link rel="stylesheet" href="/templates/css/template.css" type="text/css" />';
var WinPrint = window.open('','','left=50,top=50,width=800,height =640,toolbar=0,scrollbars=1,status=0');
var print = document.createElement("div");
print.className = "contentpane";
print.setAttribute("id", "print");
print.appendChild(prtContent.cloneNode(true));
WinPrint.document.body.appendChild(print);
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
|
700x1000 px. В других браузерах Яндекс, Мозила, Эксплорер всё отлично работает.
|
Спасибо вам огромное, tsigel! Ваш код работает во всех браузерах, кроме Эксплорера.
|
| Часовой пояс GMT +3, время: 12:47. |