Вывод страницы сайта на печать

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ต.ค. 2024
  • Создание веб-приложения с нуля на JavaScript, NodeJS, ExpressJS: webformyself.c...
    В этом уроке мы рассмотрим варианты решения задачи вывода страницы на печать. На самом деле реализация этой задачи крайне проста. Если вам необходимо распечатать всю страницу, тогда достаточно вызвать метод JS print(), который и откроет окно печати. Но что делать, если нам нужна не вся страница?
    Здесь мы и рассмотрим различные варианты решения поставленной задачи. Используя их, вы сможете распечатать как отдельный элемент страницы, так и несколько различных элементов.

ความคิดเห็น • 18

  • @prolego7941
    @prolego7941 ปีที่แล้ว

    Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @VA94-54r
    @VA94-54r 5 ปีที่แล้ว

    По работе пришлось научиться печати и формирование документа в браузере с помощью pdfmaker
    Прикольно получается и не так сложно как кажется на js, с нужной инфой из бд, можно любой документ сформировать

  • @timurkhudiyev
    @timurkhudiyev 5 ปีที่แล้ว +4

    А разве такой способ не сломает JS события, которые были ранее подвешаны на элементы?

  • @eugenstakhursky9604
    @eugenstakhursky9604 5 ปีที่แล้ว

    Спасибо за урок!

    • @matroskin978
      @matroskin978 5 ปีที่แล้ว

      Пожалуйста))

  • @КостянЕрмаков-е9ю
    @КостянЕрмаков-е9ю 5 ปีที่แล้ว +1

    однако интересно

  • @GELIC
    @GELIC 2 ปีที่แล้ว +1

    а как вы убрали отступы между окном и контентом?

  • @eugenstakhursky9604
    @eugenstakhursky9604 5 ปีที่แล้ว

    Лайк поставил, вот комментарий))

  • @MrKumckuu
    @MrKumckuu 3 ปีที่แล้ว

    Подскажите пожалуйста как можно при клике на ссылку, открывать ссылку и сразу же открывать печать?

  • @kosoystudio
    @kosoystudio 5 ปีที่แล้ว

    Андрей, когда уже уроки по фреймворку будут?

    • @matroskin978
      @matroskin978 5 ปีที่แล้ว

      Да вот все никак руки не дойдут, каюсь... очень постараюсь исправиться.

  • @rusicsemenov
    @rusicsemenov 5 ปีที่แล้ว

    Более чем странно я упуслил? Почему просто не написать display: none и не нужен js, и все будет скрыто.

  • @52Arz
    @52Arz 5 ปีที่แล้ว

    А после закрытия окна, body вернулся? Вот этот момент не понятен.

    • @matroskin978
      @matroskin978 5 ปีที่แล้ว

      Да, после печати страницы или после нажатия кнопки Отмена - страница возвращается к исходному состоянию. На видео я этот момент не показал, но Вы можете проверить самостоятельно.

  • @FamilyB-u4s
    @FamilyB-u4s 5 ปีที่แล้ว

    я что то твою логику понять не могу. через dn ты убирать элементы не хочешь(хотя по мне проще сделать доп стиль "no-print{display: none}" и скрыть секцию) чем через js всю страницу перерисовывать

    • @matroskin978
      @matroskin978 5 ปีที่แล้ว +1

      Слишком много элементов придется скрывать, если их на странице много. Фактически любой элемент, который не должен выводиться на печать, должен быть скрыт и каждому такому элементу нужно прописывать дополнительный класс. Через JS же достаточно прописать всего несколько строк кода. И такое решение, как мне кажется, более универсально, поскольку достаточно лишь прописать класс для элемента, который должен быть распечатан, вместо того, чтобы перечислять скрываемые элементы.
      Впрочем, это лишь один из возможных вариантов решения задачи и не стоит забывать, что практически любую задачу можно решить всегда более чем одним способом и единственно верного решения просто нет. Выбор конечного решения - за Вами.

  • @snd5543
    @snd5543 5 ปีที่แล้ว

    работает... но после отмены печати, к сожалению
    Uncaught TypeError: Cannot read property 'tagName' of null
    Uncaught TypeError: Cannot read property 'innerHTML' of null
    Uncaught TypeError: Cannot read property 'appendChild' of null
    OSX Mojave, Chrome
    $('.printThis').on('click', function() {
    var body = $('body').html();
    var elem = $('.print');
    $('body').html(elem);
    window.print();
    $('body').html(body);
    });

  • @doniyorusmonov152
    @doniyorusmonov152 5 ปีที่แล้ว +1

    я первый ))