2013-09-02 42 views
20

Về cơ bản, tôi đang làm những gì mà tiểu bang đề cập, cố gắng lưu nội dung của div như một hình ảnh.Làm cách nào để lưu nội dung của div dưới dạng hình ảnh?

Tôi định tạo một ứng dụng trực tuyến nhỏ cho iPad.

Một chức năng phải có là nút 'Lưu' có thể lưu toàn bộ trang web dưới dạng hình ảnh và lưu hình ảnh đó vào thư viện ảnh của iPad. Tôi muốn lưu toàn bộ nội dung của một div, không chỉ khu vực hiển thị.

Tôi đã tìm kiếm trực tuyến một thời gian ngắn nhưng không thể tìm thấy nhiều tài liệu về bất cứ điều gì. Tôi tìm thấy rất nhiều trên HTML5 Canvas. Dưới đây là một số mã tôi đặt lại với nhau:

<script> 
function saveimg() 
{ 
    var c = document.getElementById('mycanvas'); 
    var t = c.getContext('2d'); 
    window.location.href = image; 

    window.open('', document.getElementById('mycanvas').toDataURL()); 
} 
</script> 

<div id="mycanvas"> 
This is just a test<br /> 
12344<br /> 
</div> 

<button onclick="saveimg()">Save</button> 

Mặc dù, tôi nhận được lỗi này:

TypeError: c.getContext is not a function 

Ứng dụng này sẽ được xây dựng chỉ với HTML, CSS và jQuery (hoặc các thư viện javascript khác).

+0

bản sao có thể có của [Cách chụp ảnh màn hình của một div bằng JavaScript?] (Http://stackoverflow.com/questions/6887183/how-to-take-screen-shot-of-a-div-with- javascript) –

+0

@GlenSwift - Cảm ơn bạn vì điều đó, nhưng mã ví dụ trong bài đăng đó không hoạt động. – Fizzix

+0

'c.getContext' không phải là một hàm vì' mycanvas' chỉ là một div, không phải là phần tử 'canvas'. Chỉ 'canvas' có ngữ cảnh. – CheeseWarlock

Trả lời

13

Có một số câu hỏi tương tự (1, 2). Một cách để làm là sử dụng canvas. Here's a working solution. Here bạn có thể xem một số ví dụ hoạt động của việc sử dụng thư viện này.

+0

nó mang lại cho tôi lỗi sau mỗi lần tôi sử dụng nó. html2canvas (document.body) .then (chức năng (canvas) { document.body.appendChild (canvas); }); LoạiError: undefined không phải là hàm – noj

+1

Không có đủ thông tin để cung cấp giải pháp đúng cho vấn đề của bạn. Chức năng nào là không xác định? Khi nào và nơi nào các lỗi ném? Tôi khuyên bạn nên tạo câu hỏi mới cho điều này –

Các vấn đề liên quan