How to take screen shot of current webpage using Javascript/JQuery?
Asked Answered
C

3

13

I was trying to take screen shot of a web page using JavaScript/JQuery. Could you please explain me the code steps I need to follow?

Cuisse answered 14/8, 2013 at 12:4 Comment(1)
Possible duplicate of Using HTML5/Canvas/JavaScript to take screenshotsSearching
P
15

The html2canvas2 JavaScript utility is suitable to take a screenshot of a webpage. You have to use three JavaScript libraries:

 1.jquery-1.10.2.min.js
 2.html2canvas.js
 3.jquery.plugin.html2canvas.js

Then call the function capture(), which will give you an HTML5 canvas-based screenshot in new window. It also generates a base64data value of image. It only works in browsers that support HTML5 canvas.

    <script type="text/javascript">
    function capture() {
            html2canvas($('body'),{
                onrendered: function (canvas) {                     
                            var imgString = canvas.toDataURL("image/png");
                            window.open(imgString);                  
            }
        });
   </script>
Plaque answered 25/11, 2013 at 10:38 Comment(4)
Hi.. Can you please share the right source repo too if possible?.. I can find few while googling.Schatz
I've added a link to the library in this answer.Medicine
Important note: "The screenshot is based on the DOM and as such may not be 100% accurate to the real representation as it does not make an actual screenshot, but builds the screenshot based on the information available on the page."Rabblement
where is this image saved. how can i view it?Rammer
V
0

Here, Take screenshot of webpage using html2canvas.

Example

<!doctype html>
<html>
 <head>
  <script type="text/javascript" src="https://html2canvas.hertzen.com/dist/html2canvas.js"></script>
 </head>
 <body>
  <h1>Take screenshot of webpage with html2canvas</h1>
  <div class="container" id='container'>
      <h1>Devnote is a tutorial.</h1>
  </div>
  <input type='button' id='but_screenshot' value='Take screenshot' onclick='screenshot();'><br/>

  <!-- Script -->
  <script type='text/javascript'>
    function screenshot() {
        html2canvas(document.body).then(function(canvas) {
            document.body.appendChild(canvas);
        });
    }
  </script>

 </body>
</html>

Output:

enter image description here

Valenciavalenciennes answered 29/7, 2021 at 4:54 Comment(0)
F
0

If you want real screenshot and not to convert html to image then you can try my new JS library: screenshot.js.

It's enable to take real screenshot.

You load the script:

<script src="https://raw.githubusercontent.com/amiad/screenshot.js/master/screenshot.js"></script>

and take screenshot:

new Screenshot({success: img => {
        // callback function
        myimage = img;
    }});

You can read more options in project page.

Firstborn answered 7/2, 2022 at 20:38 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.