How does the Javascript print function work? Can I create a document using javascript and print it off?

后端 未结 8 1688
梦毁少年i
梦毁少年i 2021-02-09 07:17

I know you can use window.print() to print the current page... but what I want to know is can I build a document using javascript in order to populate it with data and print it

8条回答
  •  刺人心
    刺人心 (楼主)
    2021-02-09 07:55

    My first thought:

    You could create an iframe programmatically, assign the HTML to be printed, call the print() function on the context of the iframe.contentWindow, and then remove the iframe from the DOM:

    function printHTML(input){
      var iframe = document.createElement("iframe"); // create the element
      document.body.appendChild(iframe);  // insert the element to the DOM 
    
      iframe.contentWindow.document.write(input); // write the HTML to be printed
      iframe.contentWindow.print();  // print it
      document.body.removeChild(iframe); // remove the iframe from the DOM
    }
    
    printHTML('

    Test!

    ');

    You can test the above snippet here.

提交回复
热议问题