JSFiddle - React, Tailwind, and code Playground

HTML

<button id="print-test">Print</button>
<div id="book"></div>

JavaScript

$(function(){
      $("#print-test").click(function (e) {

       e.preventDefault();
    
       beforeContentPrint(); // ajax call for additional content, finishing by calling window.print()
    });  
});


var afterPrint = function () {

  var timer = setInterval(function () {

    afterContentPrint(); // Cleanup html (restore to initial state)
    //clearInterval(timer);

  }, 900);
}
//window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
function afterContentPrint(){
$('#book').html('');
}

function beforeContentPrint() {
    var jqxhr = $.ajax({
       type: "GET",
       url: '/echo/html/',
       method: 'post',
        data: {
            html: '<article>\
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce non dolor volutpat velit condimentum ultricies ac id arcu. In tristique et velit vel rutrum. Vivamus auctor suscipit elementum. Fusce tincidunt diam id libero tempor volutpat. In hac habitasse platea dictumst. Nunc id gravida lorem. Sed quis vulputate magna, et vehicula velit. Curabitur adipiscing dictum nibh, in gravida ante ornare ut. Sed suscipit facilisis metus non vulputate. Etiam nisi erat, dapibus id tellus in, gravida mollis tortor. Proin vitae lacus pellentesque, blandit ipsum sed, mollis elit.</p>\
\
<p>Sed enim nisl, pharetra eu arcu id, ultrices sagittis metus. Praesent ornare, ante quis vestibulum vestibulum, dolor libero vehicula dolor, vel tincidunt mi mi a elit. Pellentesque eleifend porttitor nibh, in mattis quam sagittis ut. Fusce interdum vestibulum felis, a vulputate mi consectetur vel. Aenean a ultricies lacus. Sed sodales consequat aliquam. Donec sodales blandit lacinia. Sed ultrices luctus purus quis euismod. Sed ut elit nec felis placerat elementum. Nulla mattis libero sed ligula sodales mollis. Aenean condimentum lobortis feugiat. Vivamus mollis dolor vitae dolor hendrerit tincidunt. Aliquam a luctus tellus. Phasellus pellentesque elit at quam hendrerit condimentum.</p>\
\
<p>Sed tellus erat,...