javascript - html2canavas error in mvc 4 project -
so here im trying do: have page user sees representation of card after user clicks save card following function called , data should return controller in order me save card image. use html2canvas , here code:
<div class="row download-card"> <div class="span12"> <h2>congratulations!</h2> <h3>you may download mycard</h3> <div id="card" class="card center"> <ul> <li style="float: left;position: absolute;display: block;padding-top: 200px; padding-left: 200px;text-align: left;font-family:arial;color:white;font-size:x-large;">@name @lastname<span style="padding-left:90px;font-size:x-large; color:#ffffff;font-family:arial;">@cardno</span></li> <li style="float: left;position: absolute;display: block;padding-top: 230px; padding-left: 200px;text-align: left;color:white;">member since: @yearregistered <span style="color:white; padding-left:10px;font-family:arial;">valid thru: @validthru</span></li> </ul> </div> <button class="btn" type="button" onclick="screenshot('card')">download</button> </div> </div> <script src="~/assets/userpanel/js/html2canvas.js"></script> <script type="text/javascript"> function screenshot(id) { html2canvas(id, { proxy: "https://html2canvas.appspot.com/query", onrendered: function(canvas) { var img = canvas.todataurl("image/png"); var output = img.replace(/^data:image\/(png|jpg);base64,/, ""); var output = encodeuricomponent(img); var parameters = "image=" + output + "&filedir=" + cur_path; $.ajax({ type: "post", url: "profile/savecardpng", data: parameters, success : function(data) { console.log("screenshot done"); } }).done(function() { //$('body').html(data); }); } }); } </script>
so button on page calls function screenshot('card') , fires following error in console:
uncaught typeerror: object c has no method 'getelementsbytagname' html2canvas.js:2191 _html2canvas.preload html2canvas.js:2191
(anonymous function)
please let me know whats happening?!
pretty sure html2canvas requires dom element, not string id. try using:
function screenshot(id) { var elem = document.getelementbyid( id ); html2canvas( elem, {...}); }
Comments
Post a Comment