【问题标题】:can't change div element to canvas using html2canvas in asp.net无法在 asp.net 中使用 html2canvas 将 div 元素更改为画布
【发布时间】:2014-02-27 20:36:55
【问题描述】:

我使用html2canvas,这就是我在母版页中声明js文件和css的方式

     <head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script>
    <script src="Scripts/html2canvas.js" type="text/javascript"></script>
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>

在我的内容页面中,

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script type="text/javascript">
    html2canvas(document.getElementById("mainDiv"), {
        onrendered: function (canvas) {
            document.body.appendChild(canvas);
        }
    });
</script>    
<div id="mainDiv" style="background-color: #CCFF66; border-style: solid; border-color: #000000;
    width: 300px; height: 300px;display:block">
</div>    

但它不适用于此代码 document.getElementById("mainDiv") ,但是当我更改为 document.body

 html2canvas(document.body, { 
        onrendered: function (canvas) {
            document.body.appendChild(canvas);
        }

它有效,它将图像附加到正文的底部。
但我不想转换整个页面。
我只想将DIV 转换为画布。
我该如何解决这个问题?

【问题讨论】:

    标签: javascript jquery asp.net html2canvas


    【解决方案1】:

    老兄,您的 asp 页面中缺少 $(document).ready ( function () { ... }) 语句,因此它没有初始化

      $(document).ready ( function () { 
          html2canvas(document.getElementById("mainDiv"), {
               onrendered: function (canvas) {
                  document.body.appendChild(canvas);
               }
           });
       });
    

    快乐编码:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多