Перестал работать скрипт для печати картинки в Хроме и Опере.
Здравствуйте, уважаемые знатоки! Помогите пожалуйста в решении моей проблемы. Я всегда пользовалась вот этим кодом для вывода на печать картинки. Все работало во всех браузерах, а теперь в Хроме и Опере выдаёт в окне печати пустой лист. Как мне это исправить?
<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, время: 13:18. |