1
所以這裏是我即將做的事情: 我有一個頁面,用戶看到一張牌的表示後,用戶點擊保存卡,調用以下功能,數據應返回我的控制器爲了讓我把卡片保存爲圖像。我用html2canvas對於這一點,這裏是代碼:在mvc 4項目html2canavas錯誤
<div class="row download-card">
<div class="span12">
<h2>Congratulations!</h2>
<h3>You may download your 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>
所以頁面上的按鈕調用函數的截圖(「一卡通」),這可能火了,但我得到以下錯誤在控制檯:
Uncaught TypeError: Object c has no method 'getElementsByTagName' html2canvas.js:2191 _html2canvas.Preload html2canvas.js:2191
(匿名函數)
請讓我知道發生了什麼?
我剛檢查了壞HTML,幸運的是有非! – Tondar
您上面發佈的HTML缺少關閉div標籤。如果這不是完整的html,你應該編輯你的文章以包含完整的html,或者更好的做一個jsfiddle,這樣我們就可以看到它。 –
哦,我的壞,我粘貼時錯過了結束div標籤!所以HTML就好了。 – Tondar