Потому что вы передаете неправильный параметр в функцию печати.Распечатать что-то в JavaScript так же просто, как вызвать метод window.print();
.Чтобы проверить это, просто используйте средства разработчика вашего браузера и напишите в его консоли:
window.print();
Теперь, когда вы хотите напечатать что-то конкретное, у вас есть два способа:
- Создайте специальную таблицу стилей для печати на той же странице, которая скрывает другие элементы и показывает только указанный вами регион.
- Или откройте новое окно, скопируйте туда, что вы хотите, затем распечатайте его.
Теперь вы можете написать свою собственную функцию:
function printImage(image)
{
var printWindow = window.open('', 'Print Window','height=400,width=600');
printWindow.document.write('<html><head><title>Print Window</title>');
printWindow.document.write('</head><body ><img src=\'');
printWindow.document.write(image.src);
printWindow.document.write('\' /></body></html>');
printWindow.document.close();
printWindow.print();
}
var image = document.getElementById('image');
printImage(image);
, и вы также можете увидеть эту функцию в действии здесь .
Просто дайте браузеру открыть всплывающее окно, а также обратите внимание, что я только передаю значение src
элемента изображения в новое окно.