我需要使用html2canvas捕获页面的屏幕截图,然后调用控制器的post action方法。这就是为什么我有“表单”并在“提交”按钮下。
但是,如果我的按钮类型为“提交”,则此html2canvas不会截屏。如果我将按钮类型从“提交”更改为“按钮”,则下面的代码也可以工作。看起来html2canvas不适用于表单发布。参见下面的代码:
@Scripts.Render("~/Scripts/html2canvas.min.js")
@*<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>*@
<script type="text/javascript">
**$(document).ready(function () {
$("#btnGet").click(function () {
html2canvas(document.querySelector("body")).then(canvas => {
//document.body.appendChild(canvas)
var myImage = canvas.toDataURL("image/png");
myImage = myImage.replace('data:image/png;base64,', '');
alert(myImage);
$("#imageData").val(image);
});
});
});**
<div class="row">
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "drawingForm" })) // Razor form
{
<input name="imageData" type="hidden" />
<input type="submit" id="btnGet" class="btn btn-success" value="Submit" />
}
</div>